From 723571f3ebdd8a5027247c22d5298284dd1ab3b6 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 09:53:49 +0200 Subject: [PATCH 01/16] Slight simplification but lets try a different tool --- output.xml | 47 ++++++++++++++ src/alpine_bits_classes.py | 124 +++++-------------------------------- src/main.py | 14 +++-- src/output.xml | 4 +- 4 files changed, 75 insertions(+), 114 deletions(-) create mode 100644 output.xml diff --git a/output.xml b/output.xml new file mode 100644 index 0000000..9820d8e --- /dev/null +++ b/output.xml @@ -0,0 +1,47 @@ + + <Success/> + + + + + + + + + + + + + + + + + + + + + + + + + Otto + Mustermann + +
+ +
+
+
+
+
+
+
+ + + + + + +
+
+
diff --git a/src/alpine_bits_classes.py b/src/alpine_bits_classes.py index 81d5eb3..5ccc4dd 100644 --- a/src/alpine_bits_classes.py +++ b/src/alpine_bits_classes.py @@ -6446,19 +6446,19 @@ class PersonNameType(GeneratedsSuper): pass def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): if nodeName_ == 'GivenName': - obj_ = GivenNameType.factory(parent_object_=self) + obj_ = CustomerNameType.factory(parent_object_=self) obj_.build(child_, gds_collector_=gds_collector_) self.GivenName = obj_ obj_.original_tagname_ = 'GivenName' elif nodeName_ == 'Surname': - obj_ = SurnameType.factory(parent_object_=self) + obj_ = CustomerNameType.factory(parent_object_=self) obj_.build(child_, gds_collector_=gds_collector_) self.Surname = obj_ obj_.original_tagname_ = 'Surname' # end class PersonNameType -class GivenNameType(GeneratedsSuper): +class CustomerNameType(GeneratedsSuper): __hash__ = GeneratedsSuper.__hash__ subclass = None superclass = None @@ -6472,13 +6472,13 @@ class GivenNameType(GeneratedsSuper): def factory(*args_, **kwargs_): if CurrentSubclassModule_ is not None: subclass = getSubclassFromModule_( - CurrentSubclassModule_, GivenNameType) + CurrentSubclassModule_, CustomerNameType) if subclass is not None: return subclass(*args_, **kwargs_) - if GivenNameType.subclass: - return GivenNameType.subclass(*args_, **kwargs_) + if CustomerNameType.subclass: + return CustomerNameType.subclass(*args_, **kwargs_) else: - return GivenNameType(*args_, **kwargs_) + return CustomerNameType(*args_, **kwargs_) factory = staticmethod(factory) def get_ns_prefix_(self): return self.ns_prefix_ @@ -6510,29 +6510,29 @@ class GivenNameType(GeneratedsSuper): return True else: return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GivenNameType') + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CustomerNameType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerNameType') if imported_ns_def_ is not None: namespacedef_ = imported_ns_def_ if pretty_print: eol_ = '\n' else: eol_ = '' - if self.original_tagname_ is not None and name_ == 'GivenNameType': + if self.original_tagname_ is not None and name_ == 'CustomerNameType': name_ = self.original_tagname_ if UseCapturedNS_ and self.ns_prefix_: namespaceprefix_ = self.ns_prefix_ + ':' showIndent(outfile, level, pretty_print) outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GivenNameType') + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerNameType') outfile.write('>') self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) outfile.write(self.convert_unicode(self.valueOf_)) outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GivenNameType'): + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerNameType'): pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', fromsubclass_=False, pretty_print=True): + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CustomerNameType', fromsubclass_=False, pretty_print=True): pass def build(self, node, gds_collector_=None): self.gds_collector_ = gds_collector_ @@ -6550,102 +6550,10 @@ class GivenNameType(GeneratedsSuper): pass def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): pass -# end class GivenNameType +# end class CustomerNameType + -class SurnameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SurnameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SurnameType.subclass: - return SurnameType.subclass(*args_, **kwargs_) - else: - return SurnameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SurnameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SurnameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SurnameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SurnameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SurnameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SurnameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class SurnameType class URLType(GeneratedsSuper): @@ -75921,7 +75829,7 @@ __all__ = [ "FeaturesType302", "FeaturesType670", "GeneralEventInfoType", - "GivenNameType", + "CustomerNameType", "GuaranteeAcceptedType", "GuaranteeAcceptedType544", "GuaranteeAcceptedType93", diff --git a/src/main.py b/src/main.py index 98786d1..a59435f 100644 --- a/src/main.py +++ b/src/main.py @@ -26,8 +26,8 @@ from alpine_bits_classes import ( HotelReservationIDsType, HotelReservationIDType, BasicPropertyInfoType, - GivenNameType, - SurnameType, + CustomerNameType + ) from io import BytesIO import sys @@ -58,10 +58,12 @@ def main(): room_stays = RoomStaysType(RoomStay=[room_stay]) # ResGuest - person_name = PersonNameType(GivenName=GivenNameType("Otto"), Surname=SurnameType("Mustermann")) + person_name = PersonNameType(GivenName=CustomerNameType("Otto"), Surname=CustomerNameType("Mustermann")) country_name = CountryNameType(Code="DE") address = AddressType(CountryName=country_name) - customer = CustomerType(Language="de", Gender="Unknown", PersonName=person_name, Address=address) + customer = CustomerType(Language="de", Gender="Test", PersonName=person_name, Address=address) + + profile = ProfileType(Customer=customer) profile_info = ProfileInfoType(Profile=profile) profiles = ProfilesType(ProfileInfo=profile_info) @@ -106,6 +108,10 @@ def main(): ReservationsList=reservations_list ) + print(ota_res_retrieve_rs.get_Warnings()) + + + # Serialize to XML string # create outfile diff --git a/src/output.xml b/src/output.xml index b83dd3c..39e920b 100644 --- a/src/output.xml +++ b/src/output.xml @@ -2,7 +2,7 @@ <Success/> - + @@ -22,7 +22,7 @@ - + Otto Mustermann From d2bb8a3f542880080b6c9299512dfa6277f6ad76 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 10:56:51 +0200 Subject: [PATCH 02/16] xsdata instead of generateDS --- pyproject.toml | 2 + src/CustomerType.txt | 0 src/CustomerType125.txt | 0 src/alpine_bits_classes.py | 76308 ---------------------- src/alpine_bits_classes.py.bak | 105109 ------------------------------ src/generated/__init__.py | 161 + src/generated/alpinebits.py | 13801 ++++ src/main.py | 245 +- src/output.xml | 59 +- src/postprocessing.py | 148 - src/subclasses.py | 5467 -- src/test.xml | 0 uv.lock | 256 + 13 files changed, 14376 insertions(+), 187180 deletions(-) delete mode 100644 src/CustomerType.txt delete mode 100644 src/CustomerType125.txt delete mode 100644 src/alpine_bits_classes.py delete mode 100644 src/alpine_bits_classes.py.bak create mode 100644 src/generated/__init__.py create mode 100644 src/generated/alpinebits.py delete mode 100644 src/postprocessing.py delete mode 100644 src/subclasses.py delete mode 100644 src/test.xml diff --git a/pyproject.toml b/pyproject.toml index dec8151..2704ffb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,4 +7,6 @@ requires-python = ">=3.13" dependencies = [ "generateds>=2.44.3", "lxml>=6.0.1", + "xsdata-pydantic[cli,lxml,soap]>=24.5", + "xsdata[cli,lxml,soap]>=25.7", ] diff --git a/src/CustomerType.txt b/src/CustomerType.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/CustomerType125.txt b/src/CustomerType125.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/alpine_bits_classes.py b/src/alpine_bits_classes.py deleted file mode 100644 index 5ccc4dd..0000000 --- a/src/alpine_bits_classes.py +++ /dev/null @@ -1,76308 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# -# Generated Tue Sep 23 08:57:48 2025 by generateDS.py version 2.44.3. -# Python 3.13.3 (main, Apr 9 2025, 04:03:52) [Clang 20.1.0 ] -# -# Command line options: -# ('-o', 'alpine_bits_classes.py') -# ('-s', 'subclasses.py') -# -# Command line arguments: -# ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd -# -# Command line: -# ../.venv/bin/generateDS.py -o "alpine_bits_classes.py" -s "subclasses.py" ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd -# -# Current working directory (os.getcwd()): -# src -# - -import sys -try: - ModulenotfoundExp_ = ModuleNotFoundError -except NameError: - ModulenotfoundExp_ = ImportError -from six.moves import zip_longest -import os -import re as re_ -import base64 -import datetime as datetime_ -import decimal as decimal_ -from lxml import etree as etree_ - - -Validate_simpletypes_ = True -SaveElementTreeNode = True -TagNamePrefix = "" -if sys.version_info.major == 2: - BaseStrType_ = basestring -else: - BaseStrType_ = str - - -def parsexml_(infile, parser=None, **kwargs): - if parser is None: - # Use the lxml ElementTree compatible parser so that, e.g., - # we ignore comments. - try: - parser = etree_.ETCompatXMLParser() - except AttributeError: - # fallback to xml.etree - parser = etree_.XMLParser() - try: - if isinstance(infile, os.PathLike): - infile = os.path.join(infile) - except AttributeError: - pass - doc = etree_.parse(infile, parser=parser, **kwargs) - return doc - -def parsexmlstring_(instring, parser=None, **kwargs): - if parser is None: - # Use the lxml ElementTree compatible parser so that, e.g., - # we ignore comments. - try: - parser = etree_.ETCompatXMLParser() - except AttributeError: - # fallback to xml.etree - parser = etree_.XMLParser() - element = etree_.fromstring(instring, parser=parser, **kwargs) - return element - -# -# Namespace prefix definition table (and other attributes, too) -# -# The module generatedsnamespaces, if it is importable, must contain -# a dictionary named GeneratedsNamespaceDefs. This Python dictionary -# should map element type names (strings) to XML schema namespace prefix -# definitions. The export method for any class for which there is -# a namespace prefix definition, will export that definition in the -# XML representation of that element. See the export method of -# any generated element type class for an example of the use of this -# table. -# A sample table is: -# -# # File: generatedsnamespaces.py -# -# GenerateDSNamespaceDefs = { -# "ElementtypeA": "http://www.xxx.com/namespaceA", -# "ElementtypeB": "http://www.xxx.com/namespaceB", -# } -# -# Additionally, the generatedsnamespaces module can contain a python -# dictionary named GenerateDSNamespaceTypePrefixes that associates element -# types with the namespace prefixes that are to be added to the -# "xsi:type" attribute value. See the _exportAttributes method of -# any generated element type and the generation of "xsi:type" for an -# example of the use of this table. -# An example table: -# -# # File: generatedsnamespaces.py -# -# GenerateDSNamespaceTypePrefixes = { -# "ElementtypeC": "aaa:", -# "ElementtypeD": "bbb:", -# } -# - -try: - from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_ -except ModulenotfoundExp_ : - GenerateDSNamespaceDefs_ = {} -try: - from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_ -except ModulenotfoundExp_ : - GenerateDSNamespaceTypePrefixes_ = {} - -# -# You can replace the following class definition by defining an -# importable module named "generatedscollector" containing a class -# named "GdsCollector". See the default class definition below for -# clues about the possible content of that class. -# -try: - from generatedscollector import GdsCollector as GdsCollector_ -except ModulenotfoundExp_ : - - class GdsCollector_(object): - - def __init__(self, messages=None): - if messages is None: - self.messages = [] - else: - self.messages = messages - - def add_message(self, msg): - self.messages.append(msg) - - def get_messages(self): - return self.messages - - def clear_messages(self): - self.messages = [] - - def print_messages(self): - for msg in self.messages: - print("Warning: {}".format(msg)) - - def write_messages(self, outstream): - for msg in self.messages: - outstream.write("Warning: {}\n".format(msg)) - - -# -# The super-class for enum types -# - -try: - from enum import Enum -except ModulenotfoundExp_ : - Enum = object - -# -# The root super-class for element type classes -# -# Calls to the methods in these classes are generated by generateDS.py. -# You can replace these methods by re-implementing the following class -# in a module named generatedssuper.py. - -try: - from generatedssuper import GeneratedsSuper -except ModulenotfoundExp_ as exp: - try: - from generatedssupersuper import GeneratedsSuperSuper - except ModulenotfoundExp_ as exp: - class GeneratedsSuperSuper(object): - pass - - class GeneratedsSuper(GeneratedsSuperSuper): - __hash__ = object.__hash__ - tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)$') - class _FixedOffsetTZ(datetime_.tzinfo): - def __init__(self, offset, name): - self.__offset = datetime_.timedelta(minutes=offset) - self.__name = name - def utcoffset(self, dt): - return self.__offset - def tzname(self, dt): - return self.__name - def dst(self, dt): - return None - def __str__(self): - settings = { - 'str_pretty_print': True, - 'str_indent_level': 0, - 'str_namespaceprefix': '', - 'str_name': self.__class__.__name__, - 'str_namespacedefs': '', - } - for n in settings: - if hasattr(self, n): - settings[n] = getattr(self, n) - if sys.version_info.major == 2: - from StringIO import StringIO - else: - from io import StringIO - output = StringIO() - self.export( - output, - settings['str_indent_level'], - pretty_print=settings['str_pretty_print'], - namespaceprefix_=settings['str_namespaceprefix'], - name_=settings['str_name'], - namespacedef_=settings['str_namespacedefs'] - ) - strval = output.getvalue() - output.close() - return strval - def gds_format_string(self, input_data, input_name=''): - return input_data - def gds_parse_string(self, input_data, node=None, input_name=''): - return input_data - def gds_validate_string(self, input_data, node=None, input_name=''): - if not input_data: - return '' - else: - return input_data - def gds_format_base64(self, input_data, input_name=''): - return base64.b64encode(input_data).decode('ascii') - def gds_validate_base64(self, input_data, node=None, input_name=''): - return input_data - def gds_format_integer(self, input_data, input_name=''): - return '%d' % int(input_data) - def gds_parse_integer(self, input_data, node=None, input_name=''): - try: - ival = int(input_data) - except (TypeError, ValueError) as exp: - raise_parse_error(node, 'Requires integer value: %s' % exp) - return ival - def gds_validate_integer(self, input_data, node=None, input_name=''): - try: - value = int(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires integer value') - return value - def gds_format_integer_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_integer_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - int(value) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires sequence of integer values') - return values - def gds_format_float(self, input_data, input_name=''): - value = ('%.15f' % float(input_data)).rstrip('0') - if value.endswith('.'): - value += '0' - return value - - def gds_parse_float(self, input_data, node=None, input_name=''): - try: - fval_ = float(input_data) - except (TypeError, ValueError) as exp: - raise_parse_error(node, 'Requires float or double value: %s' % exp) - return fval_ - def gds_validate_float(self, input_data, node=None, input_name=''): - try: - value = float(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires float value') - return value - def gds_format_float_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_float_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - float(value) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires sequence of float values') - return values - def gds_format_decimal(self, input_data, input_name=''): - return_value = '%s' % input_data - if '.' in return_value: - return_value = return_value.rstrip('0') - if return_value.endswith('.'): - return_value = return_value.rstrip('.') - return return_value - def gds_parse_decimal(self, input_data, node=None, input_name=''): - try: - decimal_value = decimal_.Decimal(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires decimal value') - return decimal_value - def gds_validate_decimal(self, input_data, node=None, input_name=''): - try: - value = decimal_.Decimal(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires decimal value') - return value - def gds_format_decimal_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return ' '.join([self.gds_format_decimal(item) for item in input_data]) - def gds_validate_decimal_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - decimal_.Decimal(value) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires sequence of decimal values') - return values - def gds_format_double(self, input_data, input_name=''): - return '%s' % input_data - def gds_parse_double(self, input_data, node=None, input_name=''): - try: - fval_ = float(input_data) - except (TypeError, ValueError) as exp: - raise_parse_error(node, 'Requires double or float value: %s' % exp) - return fval_ - def gds_validate_double(self, input_data, node=None, input_name=''): - try: - value = float(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires double or float value') - return value - def gds_format_double_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_double_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - float(value) - except (TypeError, ValueError): - raise_parse_error( - node, 'Requires sequence of double or float values') - return values - def gds_format_boolean(self, input_data, input_name=''): - return ('%s' % input_data).lower() - def gds_parse_boolean(self, input_data, node=None, input_name=''): - input_data = input_data.strip() - if input_data in ('true', '1'): - bval = True - elif input_data in ('false', '0'): - bval = False - else: - raise_parse_error(node, 'Requires boolean value') - return bval - def gds_validate_boolean(self, input_data, node=None, input_name=''): - if input_data not in (True, 1, False, 0, ): - raise_parse_error( - node, - 'Requires boolean value ' - '(one of True, 1, False, 0)') - return input_data - def gds_format_boolean_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_boolean_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - value = self.gds_parse_boolean(value, node, input_name) - if value not in (True, 1, False, 0, ): - raise_parse_error( - node, - 'Requires sequence of boolean values ' - '(one of True, 1, False, 0)') - return values - def gds_validate_datetime(self, input_data, node=None, input_name=''): - return input_data - def gds_format_datetime(self, input_data, input_name=''): - if input_data.microsecond == 0: - _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % ( - input_data.year, - input_data.month, - input_data.day, - input_data.hour, - input_data.minute, - input_data.second, - ) - else: - _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % ( - input_data.year, - input_data.month, - input_data.day, - input_data.hour, - input_data.minute, - input_data.second, - ('%f' % (float(input_data.microsecond) / 1000000))[2:], - ) - if input_data.tzinfo is not None: - tzoff = input_data.tzinfo.utcoffset(input_data) - if tzoff is not None: - total_seconds = tzoff.seconds + (86400 * tzoff.days) - if total_seconds == 0: - _svalue += 'Z' - else: - if total_seconds < 0: - _svalue += '-' - total_seconds *= -1 - else: - _svalue += '+' - hours = total_seconds // 3600 - minutes = (total_seconds - (hours * 3600)) // 60 - _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) - return _svalue - @classmethod - def gds_parse_datetime(cls, input_data): - tz = None - if input_data[-1] == 'Z': - tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') - input_data = input_data[:-1] - else: - results = GeneratedsSuper.tzoff_pattern.search(input_data) - if results is not None: - tzoff_parts = results.group(2).split(':') - tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) - if results.group(1) == '-': - tzoff *= -1 - tz = GeneratedsSuper._FixedOffsetTZ( - tzoff, results.group(0)) - input_data = input_data[:-6] - time_parts = input_data.split('.') - if len(time_parts) > 1: - micro_seconds = int(float('0.' + time_parts[1]) * 1000000) - input_data = '%s.%s' % ( - time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), ) - dt = datetime_.datetime.strptime( - input_data, '%Y-%m-%dT%H:%M:%S.%f') - else: - dt = datetime_.datetime.strptime( - input_data, '%Y-%m-%dT%H:%M:%S') - dt = dt.replace(tzinfo=tz) - return dt - def gds_validate_date(self, input_data, node=None, input_name=''): - return input_data - def gds_format_date(self, input_data, input_name=''): - _svalue = '%04d-%02d-%02d' % ( - input_data.year, - input_data.month, - input_data.day, - ) - try: - if input_data.tzinfo is not None: - tzoff = input_data.tzinfo.utcoffset(input_data) - if tzoff is not None: - total_seconds = tzoff.seconds + (86400 * tzoff.days) - if total_seconds == 0: - _svalue += 'Z' - else: - if total_seconds < 0: - _svalue += '-' - total_seconds *= -1 - else: - _svalue += '+' - hours = total_seconds // 3600 - minutes = (total_seconds - (hours * 3600)) // 60 - _svalue += '{0:02d}:{1:02d}'.format( - hours, minutes) - except AttributeError: - pass - return _svalue - @classmethod - def gds_parse_date(cls, input_data): - tz = None - if input_data[-1] == 'Z': - tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') - input_data = input_data[:-1] - else: - results = GeneratedsSuper.tzoff_pattern.search(input_data) - if results is not None: - tzoff_parts = results.group(2).split(':') - tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) - if results.group(1) == '-': - tzoff *= -1 - tz = GeneratedsSuper._FixedOffsetTZ( - tzoff, results.group(0)) - input_data = input_data[:-6] - dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d') - dt = dt.replace(tzinfo=tz) - return dt.date() - def gds_validate_time(self, input_data, node=None, input_name=''): - return input_data - def gds_format_time(self, input_data, input_name=''): - if input_data.microsecond == 0: - _svalue = '%02d:%02d:%02d' % ( - input_data.hour, - input_data.minute, - input_data.second, - ) - else: - _svalue = '%02d:%02d:%02d.%s' % ( - input_data.hour, - input_data.minute, - input_data.second, - ('%f' % (float(input_data.microsecond) / 1000000))[2:], - ) - if input_data.tzinfo is not None: - tzoff = input_data.tzinfo.utcoffset(input_data) - if tzoff is not None: - total_seconds = tzoff.seconds + (86400 * tzoff.days) - if total_seconds == 0: - _svalue += 'Z' - else: - if total_seconds < 0: - _svalue += '-' - total_seconds *= -1 - else: - _svalue += '+' - hours = total_seconds // 3600 - minutes = (total_seconds - (hours * 3600)) // 60 - _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) - return _svalue - def gds_validate_simple_patterns(self, patterns, target): - # pat is a list of lists of strings/patterns. - # The target value must match at least one of the patterns - # in order for the test to succeed. - found1 = True - target = str(target) - for patterns1 in patterns: - found2 = False - for patterns2 in patterns1: - mo = re_.search(patterns2, target) - if mo is not None and len(mo.group(0)) == len(target): - found2 = True - break - if not found2: - found1 = False - break - return found1 - @classmethod - def gds_parse_time(cls, input_data): - tz = None - if input_data[-1] == 'Z': - tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') - input_data = input_data[:-1] - else: - results = GeneratedsSuper.tzoff_pattern.search(input_data) - if results is not None: - tzoff_parts = results.group(2).split(':') - tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) - if results.group(1) == '-': - tzoff *= -1 - tz = GeneratedsSuper._FixedOffsetTZ( - tzoff, results.group(0)) - input_data = input_data[:-6] - if len(input_data.split('.')) > 1: - dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f') - else: - dt = datetime_.datetime.strptime(input_data, '%H:%M:%S') - dt = dt.replace(tzinfo=tz) - return dt.time() - def gds_check_cardinality_( - self, value, input_name, - min_occurs=0, max_occurs=1, required=None): - if value is None: - length = 0 - elif isinstance(value, list): - length = len(value) - else: - length = 1 - if required is not None : - if required and length < 1: - self.gds_collector_.add_message( - "Required value {}{} is missing".format( - input_name, self.gds_get_node_lineno_())) - if length < min_occurs: - self.gds_collector_.add_message( - "Number of values for {}{} is below " - "the minimum allowed, " - "expected at least {}, found {}".format( - input_name, self.gds_get_node_lineno_(), - min_occurs, length)) - elif length > max_occurs: - self.gds_collector_.add_message( - "Number of values for {}{} is above " - "the maximum allowed, " - "expected at most {}, found {}".format( - input_name, self.gds_get_node_lineno_(), - max_occurs, length)) - def gds_validate_builtin_ST_( - self, validator, value, input_name, - min_occurs=None, max_occurs=None, required=None): - if value is not None: - try: - validator(value, input_name=input_name) - except GDSParseError as parse_error: - self.gds_collector_.add_message(str(parse_error)) - def gds_validate_defined_ST_( - self, validator, value, input_name, - min_occurs=None, max_occurs=None, required=None): - if value is not None: - try: - validator(value) - except GDSParseError as parse_error: - self.gds_collector_.add_message(str(parse_error)) - def gds_str_lower(self, instring): - return instring.lower() - def get_path_(self, node): - path_list = [] - self.get_path_list_(node, path_list) - path_list.reverse() - path = '/'.join(path_list) - return path - Tag_strip_pattern_ = re_.compile(r'{.*}') - def get_path_list_(self, node, path_list): - if node is None: - return - tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag) - if tag: - path_list.append(tag) - self.get_path_list_(node.getparent(), path_list) - def get_class_obj_(self, node, default_class=None): - class_obj1 = default_class - if 'xsi' in node.nsmap: - classname = node.get('{%s}type' % node.nsmap['xsi']) - if classname is not None: - names = classname.split(':') - if len(names) == 2: - classname = names[1] - class_obj2 = globals().get(classname) - if class_obj2 is not None: - class_obj1 = class_obj2 - return class_obj1 - def gds_build_any(self, node, type_name=None): - # provide default value in case option --disable-xml is used. - content = "" - content = etree_.tostring(node, encoding="unicode") - return content - @classmethod - def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.items())) - @staticmethod - def gds_encode(instring): - if sys.version_info.major == 2: - if ExternalEncoding: - encoding = ExternalEncoding - else: - encoding = 'utf-8' - return instring.encode(encoding) - else: - return instring - @staticmethod - def convert_unicode(instring): - if isinstance(instring, str): - result = quote_xml(instring) - elif sys.version_info.major == 2 and isinstance(instring, unicode): - result = quote_xml(instring).encode('utf8') - else: - result = GeneratedsSuper.gds_encode(str(instring)) - return result - def __eq__(self, other): - def excl_select_objs_(obj): - return (obj[0] != 'parent_object_' and - obj[0] != 'gds_collector_') - if type(self) != type(other): - return False - return all(x == y for x, y in zip_longest( - filter(excl_select_objs_, self.__dict__.items()), - filter(excl_select_objs_, other.__dict__.items()))) - def __ne__(self, other): - return not self.__eq__(other) - # Django ETL transform hooks. - def gds_djo_etl_transform(self): - pass - def gds_djo_etl_transform_db_obj(self, dbobj): - pass - # SQLAlchemy ETL transform hooks. - def gds_sqa_etl_transform(self): - return 0, None - def gds_sqa_etl_transform_db_obj(self, dbobj): - pass - def gds_get_node_lineno_(self): - if (hasattr(self, "gds_elementtree_node_") and - self.gds_elementtree_node_ is not None): - return ' near line {}'.format( - self.gds_elementtree_node_.sourceline) - else: - return "" - - - def getSubclassFromModule_(module, class_): - '''Get the subclass of a class from a specific module.''' - name = class_.__name__ + 'Sub' - if hasattr(module, name): - return getattr(module, name) - else: - return None - - -# -# If you have installed IPython you can uncomment and use the following. -# IPython is available from http://ipython.scipy.org/. -# - -## from IPython.Shell import IPShellEmbed -## args = '' -## ipshell = IPShellEmbed(args, -## banner = 'Dropping into IPython', -## exit_msg = 'Leaving Interpreter, back to program.') - -# Then use the following line where and when you want to drop into the -# IPython shell: -# ipshell(' -- Entering ipshell.\nHit Ctrl-D to exit') - -# -# Globals -# - -ExternalEncoding = '' -# Set this to false in order to deactivate during export, the use of -# name space prefixes captured from the input document. -UseCapturedNS_ = True -CapturedNsmap_ = {} -Tag_pattern_ = re_.compile(r'({.*})?(.*)') -String_cleanup_pat_ = re_.compile(r"[\n\r\s]+") -Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)') -CDATA_pattern_ = re_.compile(r"", re_.DOTALL) - -# Change this to redirect the generated superclass module to use a -# specific subclass module. -CurrentSubclassModule_ = None - -# -# Support/utility functions. -# - - -def showIndent(outfile, level, pretty_print=True): - if pretty_print: - for idx in range(level): - outfile.write(' ') - - -def quote_xml(inStr): - "Escape markup chars, but do not modify CDATA sections." - if not inStr: - return '' - s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) - s2 = '' - pos = 0 - matchobjects = CDATA_pattern_.finditer(s1) - for mo in matchobjects: - s3 = s1[pos:mo.start()] - s2 += quote_xml_aux(s3) - s2 += s1[mo.start():mo.end()] - pos = mo.end() - s3 = s1[pos:] - s2 += quote_xml_aux(s3) - return s2 - - -def quote_xml_aux(inStr): - s1 = inStr.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - return s1 - - -def quote_attrib(inStr): - s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) - s1 = s1.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - s1 = s1.replace('\n', ' ') - if '"' in s1: - if "'" in s1: - s1 = '"%s"' % s1.replace('"', """) - else: - s1 = "'%s'" % s1 - else: - s1 = '"%s"' % s1 - return s1 - - -def quote_python(inStr): - s1 = inStr - if s1.find("'") == -1: - if s1.find('\n') == -1: - return "'%s'" % s1 - else: - return "'''%s'''" % s1 - else: - if s1.find('"') != -1: - s1 = s1.replace('"', '\\"') - if s1.find('\n') == -1: - return '"%s"' % s1 - else: - return '"""%s"""' % s1 - - -def get_all_text_(node): - if node.text is not None: - text = node.text - else: - text = '' - for child in node: - if child.tail is not None: - text += child.tail - return text - - -def find_attr_value_(attr_name, node): - attrs = node.attrib - attr_parts = attr_name.split(':') - value = None - if len(attr_parts) == 1: - value = attrs.get(attr_name) - elif len(attr_parts) == 2: - prefix, name = attr_parts - if prefix == 'xml': - namespace = 'http://www.w3.org/XML/1998/namespace' - else: - namespace = node.nsmap.get(prefix) - if namespace is not None: - value = attrs.get('{%s}%s' % (namespace, name, )) - return value - - -def encode_str_2_3(instr): - return instr - - -class GDSParseError(Exception): - pass - - -def raise_parse_error(node, msg): - if node is not None: - msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, ) - raise GDSParseError(msg) - - -class MixedContainer: - # Constants for category: - CategoryNone = 0 - CategoryText = 1 - CategorySimple = 2 - CategoryComplex = 3 - # Constants for content_type: - TypeNone = 0 - TypeText = 1 - TypeString = 2 - TypeInteger = 3 - TypeFloat = 4 - TypeDecimal = 5 - TypeDouble = 6 - TypeBoolean = 7 - TypeBase64 = 8 - def __init__(self, category, content_type, name, value): - self.category = category - self.content_type = content_type - self.name = name - self.value = value - def getCategory(self): - return self.category - def getContenttype(self, content_type): - return self.content_type - def getValue(self): - return self.value - def getName(self): - return self.name - def export(self, outfile, level, name, namespace, - pretty_print=True): - if self.category == MixedContainer.CategoryText: - # Prevent exporting empty content as empty lines. - if self.value.strip(): - outfile.write(self.value) - elif self.category == MixedContainer.CategorySimple: - self.exportSimple(outfile, level, name) - else: # category == MixedContainer.CategoryComplex - self.value.export( - outfile, level, namespace, name_=name, - pretty_print=pretty_print) - def exportSimple(self, outfile, level, name): - if self.content_type == MixedContainer.TypeString: - outfile.write('<%s>%s' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeInteger or \ - self.content_type == MixedContainer.TypeBoolean: - outfile.write('<%s>%d' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeFloat or \ - self.content_type == MixedContainer.TypeDecimal: - outfile.write('<%s>%f' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeDouble: - outfile.write('<%s>%g' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeBase64: - outfile.write('<%s>%s' % ( - self.name, - base64.b64encode(self.value), - self.name)) - def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None): - if self.category == MixedContainer.CategoryText: - # Prevent exporting empty content as empty lines. - if self.value.strip(): - if len(element) > 0: - if element[-1].tail is None: - element[-1].tail = self.value - else: - element[-1].tail += self.value - else: - if element.text is None: - element.text = self.value - else: - element.text += self.value - elif self.category == MixedContainer.CategorySimple: - subelement = etree_.SubElement( - element, '%s' % self.name) - subelement.text = self.to_etree_simple() - else: # category == MixedContainer.CategoryComplex - self.value.to_etree(element) - def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None): - if self.content_type == MixedContainer.TypeString: - text = self.value - elif (self.content_type == MixedContainer.TypeInteger or - self.content_type == MixedContainer.TypeBoolean): - text = '%d' % self.value - elif (self.content_type == MixedContainer.TypeFloat or - self.content_type == MixedContainer.TypeDecimal): - text = '%f' % self.value - elif self.content_type == MixedContainer.TypeDouble: - text = '%g' % self.value - elif self.content_type == MixedContainer.TypeBase64: - text = '%s' % base64.b64encode(self.value) - return text - def exportLiteral(self, outfile, level, name): - if self.category == MixedContainer.CategoryText: - showIndent(outfile, level) - outfile.write( - 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( - self.category, self.content_type, - self.name, self.value)) - elif self.category == MixedContainer.CategorySimple: - showIndent(outfile, level) - outfile.write( - 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( - self.category, self.content_type, - self.name, self.value)) - else: # category == MixedContainer.CategoryComplex - showIndent(outfile, level) - outfile.write( - 'model_.MixedContainer(%d, %d, "%s",\n' % ( - self.category, self.content_type, self.name,)) - self.value.exportLiteral(outfile, level + 1) - showIndent(outfile, level) - outfile.write(')\n') - - -class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0, - optional=0, child_attrs=None, choice=None): - self.name = name - self.data_type = data_type - self.container = container - self.child_attrs = child_attrs - self.choice = choice - self.optional = optional - def set_name(self, name): self.name = name - def get_name(self): return self.name - def set_data_type(self, data_type): self.data_type = data_type - def get_data_type_chain(self): return self.data_type - def get_data_type(self): - if isinstance(self.data_type, list): - if len(self.data_type) > 0: - return self.data_type[-1] - else: - return 'xs:string' - else: - return self.data_type - def set_container(self, container): self.container = container - def get_container(self): return self.container - def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs - def get_child_attrs(self): return self.child_attrs - def set_choice(self, choice): self.choice = choice - def get_choice(self): return self.choice - def set_optional(self, optional): self.optional = optional - def get_optional(self): return self.optional - - -def _cast(typ, value): - if typ is None or value is None: - return value - return typ(value) - - -# -# Start enum classes -# -class AddToBasicRateIndicatorType(str, Enum): - _1='1' - TRUE='true' - - -class AgeQualifyingCodeType(str, Enum): - _8='8' - _1_0='10' - - -class AltitudeUnitOfMeasureCodeType(str, Enum): - _3='3' - - -class CategoryType200(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _1_5='15' - _2_2='22' - - -class CategoryType205(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _2_0='20' - _2_2='22' - - -class CategoryType288(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _1_5='15' - _2_2='22' - - -class CategoryType296(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _2_0='20' - _2_2='22' - - -class CategoryType656(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _1_5='15' - _2_2='22' - - -class CategoryType664(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _2_0='20' - _2_2='22' - - -class ChargeFrequencyType(str, Enum): - _1='1' - - -class ChargeTypeCodeType(str, Enum): - _1='1' - _1_2='12' - _1_8='18' - _1_9='19' - _2_0='20' - _2_1='21' - _2_4='24' - - -class ChargeUnitType(str, Enum): - _2_1='21' - - -class CodeContextType(str, Enum): - ALPINEBITS='ALPINEBITS' - HOTEL='HOTEL' - - -class CodeContextType148(str, Enum): - ALPINEBITS='ALPINEBITS' - HOTEL='HOTEL' - - -class CodeContextType403(str, Enum): - ROOMTYPE='ROOMTYPE' - - -class CodeContextType459(str, Enum): - ROOMTYPE='ROOMTYPE' - - -class CodeContextType599(str, Enum): - ALPINEBITS='ALPINEBITS' - HOTEL='HOTEL' - - -class CodeContextType778(str, Enum): - ROOMTYPE='ROOMTYPE' - - -class CountTypeType(str, Enum): - _2='2' - _6='6' - _9='9' - - -class FirstQualifyingPositionType(str, Enum): - _1='1' - - -class InfoCodeType(str, Enum): - _1='1' - _1_7='17' - _2_3='23' - _2_4='24' - - -class InfoCodeType222(str, Enum): - _1='1' - _2_3='23' - _2_5='25' - - -class InfoCodeType297(str, Enum): - _1='1' - _1_7='17' - _2_3='23' - _2_4='24' - - -class InfoCodeType325(str, Enum): - _1='1' - _2_3='23' - _2_5='25' - - -class InfoCodeType665(str, Enum): - _1='1' - _1_7='17' - _2_3='23' - _2_4='24' - - -class InfoCodeType693(str, Enum): - _1='1' - _2_3='23' - _2_5='25' - - -class InstanceType(str, Enum): - COMPLETE_SET='CompleteSet' - - -class InvTypeType(str, Enum): - ALPINEBITSDOW='ALPINEBITSDOW' - ROOMTYPE='ROOMTYPE' - - -class InvTypeType420(str, Enum): - EXTRA='EXTRA' - ALPINEBITSEXTRA='ALPINEBITSEXTRA' - - -class InvTypeType479(str, Enum): - ALPINEBITSDOW='ALPINEBITSDOW' - ROOMTYPE='ROOMTYPE' - - -class InvTypeType487(str, Enum): - EXTRA='EXTRA' - ALPINEBITSEXTRA='ALPINEBITSEXTRA' - - -class InvTypeType798(str, Enum): - ALPINEBITSDOW='ALPINEBITSDOW' - ROOMTYPE='ROOMTYPE' - - -class InvTypeType806(str, Enum): - EXTRA='EXTRA' - ALPINEBITSEXTRA='ALPINEBITSEXTRA' - - -class LocationType256(str, Enum): - _6='6' - - -class LocationType395(str, Enum): - _6='6' - - -class LocationType763(str, Enum): - _6='6' - - -class MealPlanCodeType(str, Enum): - _1_2='12' - - -class MealPlanCodesType(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanIndicatorType(str, Enum): - _1='1' - TRUE='true' - - -class MinMaxMessageTypeType(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_FORWARD_MIN_STAY='SetForwardMinStay' - SET_MAX_LOS='SetMaxLOS' - SET_FORWARD_MAX_STAY='SetForwardMaxStay' - - -class MinMaxMessageTypeType424(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_MAX_LOS='SetMaxLOS' - _='' - - -class MinMaxMessageTypeType452(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_FORWARD_MIN_STAY='SetForwardMinStay' - SET_MAX_LOS='SetMaxLOS' - SET_FORWARD_MAX_STAY='SetForwardMaxStay' - - -class MinMaxMessageTypeType495(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_MAX_LOS='SetMaxLOS' - _='' - - -class MinMaxMessageTypeType771(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_FORWARD_MIN_STAY='SetForwardMinStay' - SET_MAX_LOS='SetMaxLOS' - SET_FORWARD_MAX_STAY='SetForwardMaxStay' - - -class MinMaxMessageTypeType814(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_MAX_LOS='SetMaxLOS' - _='' - - -class NameType(str, Enum): - TITLE='Title' - CATEGORY='Category' - GALLERY='Gallery' - DESCRIPTION='Description' - - -class NameType143(str, Enum): - INCLUDEDSERVICES='included services' - CUSTOMERCOMMENT='customer comment' - ADDITIONALINFO='additional info' - - -class NameType36(str, Enum): - INCLUDEDSERVICES='included services' - CUSTOMERCOMMENT='customer comment' - ADDITIONALINFO='additional info' - - -class NameType409(str, Enum): - INCLUDEDSERVICES='included services' - - -class NameType419(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType432(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType470(str, Enum): - INCLUDEDSERVICES='included services' - - -class NameType484(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType513(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType594(str, Enum): - INCLUDEDSERVICES='included services' - CUSTOMERCOMMENT='customer comment' - ADDITIONALINFO='additional info' - - -class NameType789(str, Enum): - INCLUDEDSERVICES='included services' - - -class NameType803(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType832(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class PercentType(str, Enum): - _1_00='100' - - -class ProfileTypeType(str, Enum): - _4='4' - - -class RatePlanNotifTypeType(str, Enum): - OVERLAY='Overlay' - NEW='New' - FULL='Full' - REMOVE='Remove' - - -class RatePlanTypeType(str, Enum): - _1_2='12' - - -class RateTimeUnitType(str, Enum): - DAY='Day' - - -class ResStatusType(str, Enum): - REQUESTED='Requested' - RESERVED='Reserved' - CANCELLED='Cancelled' - MODIFY='Modify' - - -class RestrictionType(str, Enum): - MASTER='Master' - - -class RoomTypeType18(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType208(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType309(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType523(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType677(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType72(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class ServiceCategoryCodeType(str, Enum): - BOARD='BOARD' - SUPPLEMENT='SUPPLEMENT' - SPA='SPA' - FOOD='FOOD' - BEVERAGE='BEVERAGE' - ACTIVITY='ACTIVITY' - TOURISTTAX='TOURISTTAX' - TRANSFER='TRANSFER' - OTHER='OTHER' - - -class ServicePricingTypeType(str, Enum): - PERNIGHT='Per night' - PERPERSON='Per person' - PERPERSONPERNIGHT='Per person per night' - PERSTAY='Per stay' - PERUSE='Per use' - - -class StatusType(str, Enum): - ALPINEBITS_HANDSHAKE='ALPINEBITS_HANDSHAKE' - - -class StatusType1(str, Enum): - ALPINEBITS_HANDSHAKE='ALPINEBITS_HANDSHAKE' - - -class StatusType402(str, Enum): - OPEN='Open' - CLOSE='Close' - - -class StatusType458(str, Enum): - OPEN='Open' - CLOSE='Close' - - -class StatusType777(str, Enum): - OPEN='Open' - CLOSE='Close' - - -class StayContextType(str, Enum): - CHECKIN='Checkin' - CHECKOUT='Checkout' - - -class TextFormatType(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType111(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType115(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType147(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType195(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType198(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType203(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType214(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType220(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType226(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType230(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType234(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType237(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType27(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType278(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType286(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType294(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType317(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType323(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType332(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType338(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType344(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType350(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType38(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType417(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType430(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType482(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType511(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType562(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType566(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType598(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType646(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType654(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType662(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType685(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType691(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType700(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType706(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType712(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType718(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType801(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType830(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TimeUnitType(str, Enum): - """TimeUnitType -- Defines the unit in which the time is expressed (e.g. year, day, hour). - - """ - YEAR='Year' - MONTH='Month' - WEEK='Week' - DAY='Day' - HOUR='Hour' - SECOND='Second' - FULL_DURATION='FullDuration' - MINUTE='Minute' - - -class TimeUnitType401(str, Enum): - DAY='Day' - - -class TimeUnitType423(str, Enum): - DAY='Day' - - -class TimeUnitType451(str, Enum): - DAY='Day' - - -class TimeUnitType494(str, Enum): - DAY='Day' - - -class TimeUnitType770(str, Enum): - DAY='Day' - - -class TimeUnitType813(str, Enum): - DAY='Day' - - -class TypeType(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType10(str, Enum): - _1_6='16' - _3_5='35' - - -class TypeType116(str, Enum): - _1_6='16' - - -class TypeType13(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType17(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType189(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType192(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType2(str, Enum): - _1_8='18' - - -class TypeType259(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType264(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType28(str, Enum): - _1_6='16' - - -class TypeType3(str, Enum): - IMAGE='Image' - - -class TypeType397(str, Enum): - _1_6='16' - - -class TypeType406(str, Enum): - _7='7' - _2_5='25' - - -class TypeType435(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType442(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType464(str, Enum): - _7='7' - _2_5='25' - - -class TypeType518(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType53(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType567(str, Enum): - _1_6='16' - - -class TypeType59(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType62(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType67(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType7(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType783(str, Enum): - _7='7' - _2_5='25' - - -class TypeType837(str, Enum): - _1_1='11' - _1_3='13' - - -class def_send_complete(str, Enum): - ALPINEBITS_SEND_HANDSHAKE='ALPINEBITS_SEND_HANDSHAKE' - ALPINEBITS_SEND_FREEROOMS='ALPINEBITS_SEND_FREEROOMS' - ALPINEBITS_SEND_RATEPLANS='ALPINEBITS_SEND_RATEPLANS' - ALPINEBITS_SEND_INVENTORY='ALPINEBITS_SEND_INVENTORY' - - -# -# Start data representation classes -# -class OTA_PingRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, EchoData=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.EchoData = EchoData - self.validate_def_nonempty_string(self.EchoData) - self.EchoData_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_PingRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_PingRQ.subclass: - return OTA_PingRQ.subclass(*args_, **kwargs_) - else: - return OTA_PingRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EchoData(self): - return self.EchoData - def set_EchoData(self, EchoData): - self.EchoData = EchoData - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.EchoData is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_PingRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_PingRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_PingRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_PingRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_PingRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EchoData is not None: - namespaceprefix_ = self.EchoData_nsprefix_ + ':' if (UseCapturedNS_ and self.EchoData_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEchoData>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EchoData), input_name='EchoData')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EchoData': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'EchoData') - value_ = self.gds_validate_string(value_, node, 'EchoData') - self.EchoData = value_ - self.EchoData_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.EchoData) -# end class OTA_PingRQ - - -class OTA_PingRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, EchoData=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.EchoData = EchoData - self.validate_def_nonempty_string(self.EchoData) - self.EchoData_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_PingRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_PingRS.subclass: - return OTA_PingRS.subclass(*args_, **kwargs_) - else: - return OTA_PingRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_EchoData(self): - return self.EchoData - def set_EchoData(self, EchoData): - self.EchoData = EchoData - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.EchoData is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_PingRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_PingRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_PingRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_PingRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_PingRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.EchoData is not None: - namespaceprefix_ = self.EchoData_nsprefix_ + ':' if (UseCapturedNS_ and self.EchoData_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEchoData>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EchoData), input_name='EchoData')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'EchoData': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'EchoData') - value_ = self.gds_validate_string(value_, node, 'EchoData') - self.EchoData = value_ - self.EchoData_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.EchoData) -# end class OTA_PingRS - - -class Success(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, Success) - if subclass is not None: - return subclass(*args_, **kwargs_) - if Success.subclass: - return Success.subclass(*args_, **kwargs_) - else: - return Success(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Success', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('Success') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'Success': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Success') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Success', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Success'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Success', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class Success - - -class OTA_HotelPostEventNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, EventReports=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.EventReports = EventReports - self.EventReports_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelPostEventNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelPostEventNotifRQ.subclass: - return OTA_HotelPostEventNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelPostEventNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventReports(self): - return self.EventReports - def set_EventReports(self, EventReports): - self.EventReports = EventReports - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def has__content(self): - if ( - self.EventReports is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelPostEventNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelPostEventNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelPostEventNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelPostEventNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelPostEventNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventReports is not None: - namespaceprefix_ = self.EventReports_nsprefix_ + ':' if (UseCapturedNS_ and self.EventReports_nsprefix_) else '' - self.EventReports.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventReports', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventReports': - obj_ = EventReportsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventReports = obj_ - obj_.original_tagname_ = 'EventReports' -# end class OTA_HotelPostEventNotifRQ - - -class OTA_HotelPostEventNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelPostEventNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelPostEventNotifRS.subclass: - return OTA_HotelPostEventNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelPostEventNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelPostEventNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelPostEventNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelPostEventNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelPostEventNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelPostEventNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelPostEventNotifRS - - -class OTA_HotelInvCountNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, UniqueID=None, Inventories=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.Inventories = Inventories - self.Inventories_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelInvCountNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelInvCountNotifRQ.subclass: - return OTA_HotelInvCountNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelInvCountNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_Inventories(self): - return self.Inventories - def set_Inventories(self, Inventories): - self.Inventories = Inventories - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def has__content(self): - if ( - self.UniqueID is not None or - self.Inventories is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelInvCountNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelInvCountNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelInvCountNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelInvCountNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelInvCountNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.Inventories is not None: - namespaceprefix_ = self.Inventories_nsprefix_ + ':' if (UseCapturedNS_ and self.Inventories_nsprefix_) else '' - self.Inventories.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Inventories', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'Inventories': - obj_ = InventoriesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Inventories = obj_ - obj_.original_tagname_ = 'Inventories' -# end class OTA_HotelInvCountNotifRQ - - -class OTA_HotelInvCountNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelInvCountNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelInvCountNotifRS.subclass: - return OTA_HotelInvCountNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelInvCountNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelInvCountNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelInvCountNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelInvCountNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelInvCountNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelInvCountNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelInvCountNotifRS - - -class OTA_HotelResNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, HotelReservations=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.HotelReservations = HotelReservations - self.HotelReservations_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelResNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelResNotifRQ.subclass: - return OTA_HotelResNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelResNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservations(self): - return self.HotelReservations - def set_HotelReservations(self, HotelReservations): - self.HotelReservations = HotelReservations - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.HotelReservations is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelResNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelResNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelResNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelResNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelResNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelReservations is not None: - namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' - self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservations': - obj_ = HotelReservationsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservations = obj_ - obj_.original_tagname_ = 'HotelReservations' -# end class OTA_HotelResNotifRQ - - -class OTA_HotelResNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelReservations=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.HotelReservations = HotelReservations - self.HotelReservations_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelResNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelResNotifRS.subclass: - return OTA_HotelResNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelResNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_HotelReservations(self): - return self.HotelReservations - def set_HotelReservations(self, HotelReservations): - self.HotelReservations = HotelReservations - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.HotelReservations is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelResNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelResNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelResNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelResNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelResNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.HotelReservations is not None: - namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' - self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'HotelReservations': - obj_ = HotelReservationsType56.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservations = obj_ - obj_.original_tagname_ = 'HotelReservations' -# end class OTA_HotelResNotifRS - - -class OTA_ReadRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, ReadRequests=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.ReadRequests = ReadRequests - self.ReadRequests_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_ReadRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_ReadRQ.subclass: - return OTA_ReadRQ.subclass(*args_, **kwargs_) - else: - return OTA_ReadRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ReadRequests(self): - return self.ReadRequests - def set_ReadRequests(self, ReadRequests): - self.ReadRequests = ReadRequests - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.ReadRequests is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ReadRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_ReadRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_ReadRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_ReadRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_ReadRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_ReadRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ReadRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ReadRequests is not None: - namespaceprefix_ = self.ReadRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.ReadRequests_nsprefix_) else '' - self.ReadRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ReadRequests', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ReadRequests': - obj_ = ReadRequestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ReadRequests = obj_ - obj_.original_tagname_ = 'ReadRequests' -# end class OTA_ReadRQ - - -class OTA_ResRetrieveRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, ReservationsList=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.ReservationsList = ReservationsList - self.ReservationsList_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_ResRetrieveRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_ResRetrieveRS.subclass: - return OTA_ResRetrieveRS.subclass(*args_, **kwargs_) - else: - return OTA_ResRetrieveRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_ReservationsList(self): - return self.ReservationsList - def set_ReservationsList(self, ReservationsList): - self.ReservationsList = ReservationsList - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.ReservationsList is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ResRetrieveRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_ResRetrieveRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_ResRetrieveRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_ResRetrieveRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_ResRetrieveRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_ResRetrieveRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ResRetrieveRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.ReservationsList is not None: - namespaceprefix_ = self.ReservationsList_nsprefix_ + ':' if (UseCapturedNS_ and self.ReservationsList_nsprefix_) else '' - self.ReservationsList.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ReservationsList', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'ReservationsList': - obj_ = ReservationsListType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ReservationsList = obj_ - obj_.original_tagname_ = 'ReservationsList' -# end class OTA_ResRetrieveRS - - -class OTA_NotifReportRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Success=None, Warnings=None, NotifDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.NotifDetails = NotifDetails - self.NotifDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_NotifReportRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_NotifReportRQ.subclass: - return OTA_NotifReportRQ.subclass(*args_, **kwargs_) - else: - return OTA_NotifReportRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_NotifDetails(self): - return self.NotifDetails - def set_NotifDetails(self, NotifDetails): - self.NotifDetails = NotifDetails - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Success is not None or - self.Warnings is not None or - self.NotifDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_NotifReportRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_NotifReportRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_NotifReportRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_NotifReportRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_NotifReportRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.NotifDetails is not None: - namespaceprefix_ = self.NotifDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.NotifDetails_nsprefix_) else '' - self.NotifDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NotifDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'NotifDetails': - obj_ = NotifDetailsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.NotifDetails = obj_ - obj_.original_tagname_ = 'NotifDetails' -# end class OTA_NotifReportRQ - - -class OTA_NotifReportRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_NotifReportRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_NotifReportRS.subclass: - return OTA_NotifReportRS.subclass(*args_, **kwargs_) - else: - return OTA_NotifReportRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_NotifReportRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_NotifReportRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_NotifReportRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_NotifReportRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_NotifReportRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_NotifReportRS - - -class OTA_HotelDescriptiveContentNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveContents=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.HotelDescriptiveContents = HotelDescriptiveContents - self.HotelDescriptiveContents_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveContentNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveContentNotifRQ.subclass: - return OTA_HotelDescriptiveContentNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveContentNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveContents(self): - return self.HotelDescriptiveContents - def set_HotelDescriptiveContents(self, HotelDescriptiveContents): - self.HotelDescriptiveContents = HotelDescriptiveContents - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.HotelDescriptiveContents is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveContentNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveContentNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveContentNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveContentNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveContentNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveContents is not None: - namespaceprefix_ = self.HotelDescriptiveContents_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContents_nsprefix_) else '' - self.HotelDescriptiveContents.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContents', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveContents': - obj_ = HotelDescriptiveContentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContents = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContents' -# end class OTA_HotelDescriptiveContentNotifRQ - - -class OTA_HotelDescriptiveContentNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveContentNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveContentNotifRS.subclass: - return OTA_HotelDescriptiveContentNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveContentNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveContentNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveContentNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveContentNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveContentNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveContentNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelDescriptiveContentNotifRS - - -class OTA_HotelDescriptiveInfoRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveInfos=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.HotelDescriptiveInfos = HotelDescriptiveInfos - self.HotelDescriptiveInfos_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveInfoRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveInfoRQ.subclass: - return OTA_HotelDescriptiveInfoRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveInfoRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveInfos(self): - return self.HotelDescriptiveInfos - def set_HotelDescriptiveInfos(self, HotelDescriptiveInfos): - self.HotelDescriptiveInfos = HotelDescriptiveInfos - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.HotelDescriptiveInfos is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveInfoRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveInfoRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveInfoRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveInfoRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveInfoRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveInfos is not None: - namespaceprefix_ = self.HotelDescriptiveInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveInfos_nsprefix_) else '' - self.HotelDescriptiveInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveInfos', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveInfos': - obj_ = HotelDescriptiveInfosType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveInfos = obj_ - obj_.original_tagname_ = 'HotelDescriptiveInfos' -# end class OTA_HotelDescriptiveInfoRQ - - -class OTA_HotelDescriptiveInfoRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelDescriptiveContents=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.HotelDescriptiveContents = HotelDescriptiveContents - self.HotelDescriptiveContents_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveInfoRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveInfoRS.subclass: - return OTA_HotelDescriptiveInfoRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveInfoRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_HotelDescriptiveContents(self): - return self.HotelDescriptiveContents - def set_HotelDescriptiveContents(self, HotelDescriptiveContents): - self.HotelDescriptiveContents = HotelDescriptiveContents - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.HotelDescriptiveContents is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveInfoRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveInfoRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveInfoRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveInfoRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveInfoRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.HotelDescriptiveContents is not None: - namespaceprefix_ = self.HotelDescriptiveContents_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContents_nsprefix_) else '' - self.HotelDescriptiveContents.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContents', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'HotelDescriptiveContents': - obj_ = HotelDescriptiveContentsType267.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContents = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContents' -# end class OTA_HotelDescriptiveInfoRS - - -class OTA_HotelRatePlanNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, UniqueID=None, RatePlans=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanNotifRQ.subclass: - return OTA_HotelRatePlanNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.UniqueID is not None or - self.RatePlans is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType396.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType399.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' -# end class OTA_HotelRatePlanNotifRQ - - -class OTA_HotelRatePlanNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanNotifRS.subclass: - return OTA_HotelRatePlanNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelRatePlanNotifRS - - -class OTA_HotelRatePlanRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, RatePlans=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanRQ.subclass: - return OTA_HotelRatePlanRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.RatePlans is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlans': - obj_ = RatePlansType438.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' -# end class OTA_HotelRatePlanRQ - - -class OTA_HotelRatePlanRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, RatePlans=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanRS.subclass: - return OTA_HotelRatePlanRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.RatePlans is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType445.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' -# end class OTA_HotelRatePlanRS - - -class ErrorsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType.subclass: - return ErrorsType.subclass(*args_, **kwargs_) - else: - return ErrorsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType - - -class ErrorType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType.subclass: - return ErrorType.subclass(*args_, **kwargs_) - else: - return ErrorType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType(self, value): - # Validate type TypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StatusType(self, value): - # Validate type StatusType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_HANDSHAKE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType(self.Type) # validate type TypeType - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType(self.Status) # validate type StatusType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType - - -class WarningsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType.subclass: - return WarningsType.subclass(*args_, **kwargs_) - else: - return WarningsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType - - -class WarningType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType.subclass: - return WarningType.subclass(*args_, **kwargs_) - else: - return WarningType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StatusType1(self, value): - # Validate type StatusType1, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_HANDSHAKE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType1' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType1(self.Status) # validate type StatusType1 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType - - -class EventReportsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventReport=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if EventReport is None: - self.EventReport = [] - else: - self.EventReport = EventReport - self.EventReport_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventReportsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventReportsType.subclass: - return EventReportsType.subclass(*args_, **kwargs_) - else: - return EventReportsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventReport(self): - return self.EventReport - def set_EventReport(self, EventReport): - self.EventReport = EventReport - def add_EventReport(self, value): - self.EventReport.append(value) - def insert_EventReport_at(self, index, value): - self.EventReport.insert(index, value) - def replace_EventReport_at(self, index, value): - self.EventReport[index] = value - def has__content(self): - if ( - self.EventReport - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventReportsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventReportsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventReportsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventReportsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventReportsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for EventReport_ in self.EventReport: - namespaceprefix_ = self.EventReport_nsprefix_ + ':' if (UseCapturedNS_ and self.EventReport_nsprefix_) else '' - EventReport_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventReport', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventReport': - obj_ = EventReportType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventReport.append(obj_) - obj_.original_tagname_ = 'EventReport' -# end class EventReportsType - - -class EventReportType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventSites=None, GeneralEventInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EventSites = EventSites - self.EventSites_nsprefix_ = None - self.GeneralEventInfo = GeneralEventInfo - self.GeneralEventInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventReportType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventReportType.subclass: - return EventReportType.subclass(*args_, **kwargs_) - else: - return EventReportType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventSites(self): - return self.EventSites - def set_EventSites(self, EventSites): - self.EventSites = EventSites - def get_GeneralEventInfo(self): - return self.GeneralEventInfo - def set_GeneralEventInfo(self, GeneralEventInfo): - self.GeneralEventInfo = GeneralEventInfo - def has__content(self): - if ( - self.EventSites is not None or - self.GeneralEventInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventReportType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventReportType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventReportType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventReportType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventReportType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventSites is not None: - namespaceprefix_ = self.EventSites_nsprefix_ + ':' if (UseCapturedNS_ and self.EventSites_nsprefix_) else '' - self.EventSites.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventSites', pretty_print=pretty_print) - if self.GeneralEventInfo is not None: - namespaceprefix_ = self.GeneralEventInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.GeneralEventInfo_nsprefix_) else '' - self.GeneralEventInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GeneralEventInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventSites': - obj_ = EventSitesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventSites = obj_ - obj_.original_tagname_ = 'EventSites' - elif nodeName_ == 'GeneralEventInfo': - obj_ = GeneralEventInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GeneralEventInfo = obj_ - obj_.original_tagname_ = 'GeneralEventInfo' -# end class EventReportType - - -class EventSitesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventSite=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EventSite = EventSite - self.EventSite_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventSitesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventSitesType.subclass: - return EventSitesType.subclass(*args_, **kwargs_) - else: - return EventSitesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventSite(self): - return self.EventSite - def set_EventSite(self, EventSite): - self.EventSite = EventSite - def has__content(self): - if ( - self.EventSite is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSitesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventSitesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventSitesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventSitesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventSitesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventSitesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSitesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventSite is not None: - namespaceprefix_ = self.EventSite_nsprefix_ + ':' if (UseCapturedNS_ and self.EventSite_nsprefix_) else '' - self.EventSite.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventSite', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventSite': - obj_ = EventSiteType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventSite = obj_ - obj_.original_tagname_ = 'EventSite' -# end class EventSitesType - - -class EventSiteType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, Event_ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.Event_ID = Event_ID - self.Event_ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventSiteType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventSiteType.subclass: - return EventSiteType.subclass(*args_, **kwargs_) - else: - return EventSiteType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Event_ID(self): - return self.Event_ID - def set_Event_ID(self, Event_ID): - self.Event_ID = Event_ID - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Event_ID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSiteType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventSiteType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventSiteType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventSiteType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventSiteType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventSiteType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSiteType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Event_ID is not None: - namespaceprefix_ = self.Event_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Event_ID_nsprefix_) else '' - self.Event_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Event_ID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_def_one_to_sixteen_chars_string(self.HotelCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Event_ID': - obj_ = Event_IDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Event_ID = obj_ - obj_.original_tagname_ = 'Event_ID' -# end class EventSiteType - - -class Event_IDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, ID_Context=None, Type=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.ID_Context = _cast(None, ID_Context) - self.ID_Context_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, Event_IDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if Event_IDType.subclass: - return Event_IDType.subclass(*args_, **kwargs_) - else: - return Event_IDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_ID_Context(self): - return self.ID_Context - def set_ID_Context(self, ID_Context): - self.ID_Context = ID_Context - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType2(self, value): - # Validate type TypeType2, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['18'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Event_IDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('Event_IDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'Event_IDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Event_IDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Event_IDType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Event_IDType'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.ID_Context is not None and 'ID_Context' not in already_processed: - already_processed.add('ID_Context') - outfile.write(' ID_Context=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID_Context), input_name='ID_Context')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Event_IDType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - value = find_attr_value_('ID_Context', node) - if value is not None and 'ID_Context' not in already_processed: - already_processed.add('ID_Context') - self.ID_Context = value - self.validate_StringLength1to32(self.ID_Context) # validate type StringLength1to32 - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType2(self.Type) # validate type TypeType2 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class Event_IDType - - -class GeneralEventInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, URL=None, Acronym=None, EventContacts=None, AttendeeInfo=None, Dates=None, Comments=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.URL = _cast(None, URL) - self.URL_nsprefix_ = None - self.Acronym = _cast(None, Acronym) - self.Acronym_nsprefix_ = None - self.EventContacts = EventContacts - self.EventContacts_nsprefix_ = None - self.AttendeeInfo = AttendeeInfo - self.AttendeeInfo_nsprefix_ = None - self.Dates = Dates - self.Dates_nsprefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GeneralEventInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GeneralEventInfoType.subclass: - return GeneralEventInfoType.subclass(*args_, **kwargs_) - else: - return GeneralEventInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventContacts(self): - return self.EventContacts - def set_EventContacts(self, EventContacts): - self.EventContacts = EventContacts - def get_AttendeeInfo(self): - return self.AttendeeInfo - def set_AttendeeInfo(self, AttendeeInfo): - self.AttendeeInfo = AttendeeInfo - def get_Dates(self): - return self.Dates - def set_Dates(self, Dates): - self.Dates = Dates - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_Acronym(self): - return self.Acronym - def set_Acronym(self, Acronym): - self.Acronym = Acronym - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_url_string(self, value): - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.EventContacts is not None or - self.AttendeeInfo is not None or - self.Dates is not None or - self.Comments is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GeneralEventInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GeneralEventInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GeneralEventInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GeneralEventInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GeneralEventInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GeneralEventInfoType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.URL is not None and 'URL' not in already_processed: - already_processed.add('URL') - outfile.write(' URL=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.URL), input_name='URL')), )) - if self.Acronym is not None and 'Acronym' not in already_processed: - already_processed.add('Acronym') - outfile.write(' Acronym=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Acronym), input_name='Acronym')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GeneralEventInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventContacts is not None: - namespaceprefix_ = self.EventContacts_nsprefix_ + ':' if (UseCapturedNS_ and self.EventContacts_nsprefix_) else '' - self.EventContacts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventContacts', pretty_print=pretty_print) - if self.AttendeeInfo is not None: - namespaceprefix_ = self.AttendeeInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AttendeeInfo_nsprefix_) else '' - self.AttendeeInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AttendeeInfo', pretty_print=pretty_print) - if self.Dates is not None: - namespaceprefix_ = self.Dates_nsprefix_ + ':' if (UseCapturedNS_ and self.Dates_nsprefix_) else '' - self.Dates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dates', pretty_print=pretty_print) - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_def_nonempty_string(self.Type) # validate type def_nonempty_string - value = find_attr_value_('URL', node) - if value is not None and 'URL' not in already_processed: - already_processed.add('URL') - self.URL = value - self.validate_def_url_string(self.URL) # validate type def_url_string - value = find_attr_value_('Acronym', node) - if value is not None and 'Acronym' not in already_processed: - already_processed.add('Acronym') - self.Acronym = value - self.validate_StringLength1to32(self.Acronym) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventContacts': - obj_ = EventContactsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventContacts = obj_ - obj_.original_tagname_ = 'EventContacts' - elif nodeName_ == 'AttendeeInfo': - obj_ = AttendeeInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AttendeeInfo = obj_ - obj_.original_tagname_ = 'AttendeeInfo' - elif nodeName_ == 'Dates': - obj_ = DatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Dates = obj_ - obj_.original_tagname_ = 'Dates' - elif nodeName_ == 'Comments': - obj_ = CommentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' -# end class GeneralEventInfoType - - -class EventContactsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventContact=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if EventContact is None: - self.EventContact = [] - else: - self.EventContact = EventContact - self.EventContact_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventContactsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventContactsType.subclass: - return EventContactsType.subclass(*args_, **kwargs_) - else: - return EventContactsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventContact(self): - return self.EventContact - def set_EventContact(self, EventContact): - self.EventContact = EventContact - def add_EventContact(self, value): - self.EventContact.append(value) - def insert_EventContact_at(self, index, value): - self.EventContact.insert(index, value) - def replace_EventContact_at(self, index, value): - self.EventContact[index] = value - def has__content(self): - if ( - self.EventContact - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventContactsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventContactsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventContactsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventContactsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventContactsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for EventContact_ in self.EventContact: - namespaceprefix_ = self.EventContact_nsprefix_ + ':' if (UseCapturedNS_ and self.EventContact_nsprefix_) else '' - EventContact_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventContact', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventContact': - obj_ = EventContactType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventContact.append(obj_) - obj_.original_tagname_ = 'EventContact' -# end class EventContactsType - - -class EventContactType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Role=None, PersonName=None, URL=None, EmployeeInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Role = _cast(None, Role) - self.Role_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - self.URL = URL - self.URL_nsprefix_ = None - self.EmployeeInfo = EmployeeInfo - self.EmployeeInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventContactType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventContactType.subclass: - return EventContactType.subclass(*args_, **kwargs_) - else: - return EventContactType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_EmployeeInfo(self): - return self.EmployeeInfo - def set_EmployeeInfo(self, EmployeeInfo): - self.EmployeeInfo = EmployeeInfo - def get_Role(self): - return self.Role - def set_Role(self, Role): - self.Role = Role - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.PersonName is not None or - self.URL is not None or - self.EmployeeInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventContactType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventContactType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventContactType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventContactType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventContactType'): - if self.Role is not None and 'Role' not in already_processed: - already_processed.add('Role') - outfile.write(' Role=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Role), input_name='Role')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - self.URL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) - if self.EmployeeInfo is not None: - namespaceprefix_ = self.EmployeeInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.EmployeeInfo_nsprefix_) else '' - self.EmployeeInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EmployeeInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Role', node) - if value is not None and 'Role' not in already_processed: - already_processed.add('Role') - self.Role = value - self.validate_StringLength1to32(self.Role) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'URL': - obj_ = URLType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URL = obj_ - obj_.original_tagname_ = 'URL' - elif nodeName_ == 'EmployeeInfo': - obj_ = EmployeeInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EmployeeInfo = obj_ - obj_.original_tagname_ = 'EmployeeInfo' -# end class EventContactType - - -class PersonNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GivenName=None, Surname=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GivenName = GivenName - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.Surname_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType.subclass: - return PersonNameType.subclass(*args_, **kwargs_) - else: - return PersonNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def has__content(self): - if ( - self.GivenName is not None or - self.Surname is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - self.GivenName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GivenName', pretty_print=pretty_print) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - self.Surname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Surname', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GivenName': - obj_ = CustomerNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GivenName = obj_ - obj_.original_tagname_ = 'GivenName' - elif nodeName_ == 'Surname': - obj_ = CustomerNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Surname = obj_ - obj_.original_tagname_ = 'Surname' -# end class PersonNameType - - -class CustomerNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerNameType.subclass: - return CustomerNameType.subclass(*args_, **kwargs_) - else: - return CustomerNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CustomerNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerNameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerNameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CustomerNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CustomerNameType - - - - - -class URLType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType.subclass: - return URLType.subclass(*args_, **kwargs_) - else: - return URLType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TypeType3(self, value): - # Validate type TypeType3, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Image'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType3' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType3(self.Type) # validate type TypeType3 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType - - -class EmployeeInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmployeeId=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmployeeId = _cast(None, EmployeeId) - self.EmployeeId_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmployeeInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmployeeInfoType.subclass: - return EmployeeInfoType.subclass(*args_, **kwargs_) - else: - return EmployeeInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmployeeId(self): - return self.EmployeeId - def set_EmployeeId(self, EmployeeId): - self.EmployeeId = EmployeeId - def validate_EmployeeIdType(self, value): - # Validate type EmployeeIdType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on EmployeeIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on EmployeeIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmployeeInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmployeeInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmployeeInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmployeeInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmployeeInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmployeeInfoType'): - if self.EmployeeId is not None and 'EmployeeId' not in already_processed: - already_processed.add('EmployeeId') - outfile.write(' EmployeeId=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmployeeId), input_name='EmployeeId')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmployeeInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmployeeId', node) - if value is not None and 'EmployeeId' not in already_processed: - already_processed.add('EmployeeId') - self.EmployeeId = value - self.validate_EmployeeIdType(self.EmployeeId) # validate type EmployeeIdType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmployeeInfoType - - -class AttendeeInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TotalQuantity=None, PreRegisteredQuantity=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TotalQuantity = _cast(int, TotalQuantity) - self.TotalQuantity_nsprefix_ = None - self.PreRegisteredQuantity = _cast(int, PreRegisteredQuantity) - self.PreRegisteredQuantity_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AttendeeInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AttendeeInfoType.subclass: - return AttendeeInfoType.subclass(*args_, **kwargs_) - else: - return AttendeeInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TotalQuantity(self): - return self.TotalQuantity - def set_TotalQuantity(self, TotalQuantity): - self.TotalQuantity = TotalQuantity - def get_PreRegisteredQuantity(self): - return self.PreRegisteredQuantity - def set_PreRegisteredQuantity(self, PreRegisteredQuantity): - self.PreRegisteredQuantity = PreRegisteredQuantity - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AttendeeInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AttendeeInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AttendeeInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AttendeeInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AttendeeInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AttendeeInfoType'): - if self.TotalQuantity is not None and 'TotalQuantity' not in already_processed: - already_processed.add('TotalQuantity') - outfile.write(' TotalQuantity="%s"' % self.gds_format_integer(self.TotalQuantity, input_name='TotalQuantity')) - if self.PreRegisteredQuantity is not None and 'PreRegisteredQuantity' not in already_processed: - already_processed.add('PreRegisteredQuantity') - outfile.write(' PreRegisteredQuantity="%s"' % self.gds_format_integer(self.PreRegisteredQuantity, input_name='PreRegisteredQuantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AttendeeInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TotalQuantity', node) - if value is not None and 'TotalQuantity' not in already_processed: - already_processed.add('TotalQuantity') - self.TotalQuantity = self.gds_parse_integer(value, node, 'TotalQuantity') - if self.TotalQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.TotalQuantity) # validate type def_int_ge0 - value = find_attr_value_('PreRegisteredQuantity', node) - if value is not None and 'PreRegisteredQuantity' not in already_processed: - already_processed.add('PreRegisteredQuantity') - self.PreRegisteredQuantity = self.gds_parse_integer(value, node, 'PreRegisteredQuantity') - if self.PreRegisteredQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.PreRegisteredQuantity) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AttendeeInfoType - - -class DatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Date=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Date is None: - self.Date = [] - else: - self.Date = Date - self.Date_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DatesType.subclass: - return DatesType.subclass(*args_, **kwargs_) - else: - return DatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Date(self): - return self.Date - def set_Date(self, Date): - self.Date = Date - def add_Date(self, value): - self.Date.append(value) - def insert_Date_at(self, index, value): - self.Date.insert(index, value) - def replace_Date_at(self, index, value): - self.Date[index] = value - def has__content(self): - if ( - self.Date - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Date_ in self.Date: - namespaceprefix_ = self.Date_nsprefix_ + ':' if (UseCapturedNS_ and self.Date_nsprefix_) else '' - Date_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Date', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Date': - obj_ = DateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Date.append(obj_) - obj_.original_tagname_ = 'Date' -# end class DatesType - - -class DateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, EndDateWindow=None, LocationCategories=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.EndDateWindow = EndDateWindow - self.EndDateWindow_nsprefix_ = None - self.LocationCategories = LocationCategories - self.LocationCategories_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DateType.subclass: - return DateType.subclass(*args_, **kwargs_) - else: - return DateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EndDateWindow(self): - return self.EndDateWindow - def set_EndDateWindow(self, EndDateWindow): - self.EndDateWindow = EndDateWindow - def get_LocationCategories(self): - return self.LocationCategories - def set_LocationCategories(self, LocationCategories): - self.LocationCategories = LocationCategories - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_DateOrTimeOrDateTimeType(self, value): - # Validate type DateOrTimeOrDateTimeType, a restriction on None. - pass - def has__content(self): - if ( - self.EndDateWindow is not None or - self.LocationCategories is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DateType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DateType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (quote_attrib(self.Start), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (quote_attrib(self.End), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DateType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EndDateWindow is not None: - namespaceprefix_ = self.EndDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.EndDateWindow_nsprefix_) else '' - self.EndDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EndDateWindow', pretty_print=pretty_print) - if self.LocationCategories is not None: - namespaceprefix_ = self.LocationCategories_nsprefix_ + ':' if (UseCapturedNS_ and self.LocationCategories_nsprefix_) else '' - self.LocationCategories.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LocationCategories', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_DateOrTimeOrDateTimeType(self.Start) # validate type DateOrTimeOrDateTimeType - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_DateOrTimeOrDateTimeType(self.End) # validate type DateOrTimeOrDateTimeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EndDateWindow': - obj_ = EndDateWindowType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EndDateWindow = obj_ - obj_.original_tagname_ = 'EndDateWindow' - elif nodeName_ == 'LocationCategories': - obj_ = LocationCategoriesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LocationCategories = obj_ - obj_.original_tagname_ = 'LocationCategories' -# end class DateType - - -class EndDateWindowType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LatestDate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.LatestDate = _cast(None, LatestDate) - self.LatestDate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EndDateWindowType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EndDateWindowType.subclass: - return EndDateWindowType.subclass(*args_, **kwargs_) - else: - return EndDateWindowType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LatestDate(self): - return self.LatestDate - def set_LatestDate(self, LatestDate): - self.LatestDate = LatestDate - def validate_DateOrDateTimeType(self, value): - # Validate type DateOrDateTimeType, a restriction on None. - pass - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EndDateWindowType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EndDateWindowType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EndDateWindowType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EndDateWindowType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EndDateWindowType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EndDateWindowType'): - if self.LatestDate is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - outfile.write(' LatestDate=%s' % (quote_attrib(self.LatestDate), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EndDateWindowType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('LatestDate', node) - if value is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - self.LatestDate = value - self.validate_DateOrDateTimeType(self.LatestDate) # validate type DateOrDateTimeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EndDateWindowType - - -class LocationCategoriesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Category=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = Location - self.Location_nsprefix_ = None - if Category is None: - self.Category = [] - else: - self.Category = Category - self.Category_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LocationCategoriesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LocationCategoriesType.subclass: - return LocationCategoriesType.subclass(*args_, **kwargs_) - else: - return LocationCategoriesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def add_Category(self, value): - self.Category.append(value) - def insert_Category_at(self, index, value): - self.Category.insert(index, value) - def replace_Category_at(self, index, value): - self.Category[index] = value - def has__content(self): - if ( - self.Location is not None or - self.Category - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LocationCategoriesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LocationCategoriesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LocationCategoriesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LocationCategoriesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LocationCategoriesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LocationCategoriesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LocationCategoriesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Location is not None: - namespaceprefix_ = self.Location_nsprefix_ + ':' if (UseCapturedNS_ and self.Location_nsprefix_) else '' - self.Location.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Location', pretty_print=pretty_print) - for Category_ in self.Category: - namespaceprefix_ = self.Category_nsprefix_ + ':' if (UseCapturedNS_ and self.Category_nsprefix_) else '' - Category_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Category', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Location': - obj_ = LocationType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Location = obj_ - obj_.original_tagname_ = 'Location' - elif nodeName_ == 'Category': - obj_ = CategoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Category.append(obj_) - obj_.original_tagname_ = 'Category' -# end class LocationCategoriesType - - -class LocationType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AreaID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AreaID = _cast(None, AreaID) - self.AreaID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LocationType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LocationType.subclass: - return LocationType.subclass(*args_, **kwargs_) - else: - return LocationType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AreaID(self): - return self.AreaID - def set_AreaID(self, AreaID): - self.AreaID = AreaID - def validate_NumericStringLength1to8(self, value): - # Validate type NumericStringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to8_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) - validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LocationType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LocationType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LocationType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LocationType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LocationType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LocationType'): - if self.AreaID is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LocationType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AreaID', node) - if value is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - self.AreaID = value - self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LocationType - - -class CategoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CategoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CategoryType.subclass: - return CategoryType.subclass(*args_, **kwargs_) - else: - return CategoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType(self, value): - # Validate type LanguageType, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType_patterns_, )) - validate_LanguageType_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CategoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CategoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryType'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CategoryType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType(self.Language) # validate type LanguageType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CategoryType - - -class CommentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType.subclass: - return CommentsType.subclass(*args_, **kwargs_) - else: - return CommentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType - - -class CommentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, Text=None, Image=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType.subclass: - return CommentType.subclass(*args_, **kwargs_) - else: - return CommentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType(self, value): - # Validate type NameType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Title', 'Category', 'Gallery', 'Description'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text or - self.Image - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - Image_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Image', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType(self.Name) # validate type NameType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'Image': - obj_ = ImageType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Image.append(obj_) - obj_.original_tagname_ = 'Image' -# end class CommentType - - -class TextType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType.subclass: - return TextType.subclass(*args_, **kwargs_) - else: - return TextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType4(self, value): - # Validate type LanguageType4, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType4_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType4_patterns_, )) - validate_LanguageType4_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType4(self.Language) # validate type LanguageType4 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType - - -class ImageType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageType.subclass: - return ImageType.subclass(*args_, **kwargs_) - else: - return ImageType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ImageType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ImageType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ImageType - - -class ErrorType6(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType6) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType6.subclass: - return ErrorType6.subclass(*args_, **kwargs_) - else: - return ErrorType6(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType7(self, value): - # Validate type TypeType7, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType7' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType6', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType6') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType6': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType6') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType6'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType6', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType7(self.Type) # validate type TypeType7 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType6 - - -class WarningType9(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType9) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType9.subclass: - return WarningType9.subclass(*args_, **kwargs_) - else: - return WarningType9(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType9', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType9') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType9': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType9') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType9'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType9', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType9 - - -class UniqueIDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, Instance=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Instance = _cast(None, Instance) - self.Instance_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType.subclass: - return UniqueIDType.subclass(*args_, **kwargs_) - else: - return UniqueIDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Instance(self): - return self.Instance - def set_Instance(self, Instance): - self.Instance = Instance - def validate_TypeType10(self, value): - # Validate type TypeType10, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16', '35'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType10' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InstanceType(self, value): - # Validate type InstanceType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['CompleteSet'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InstanceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Instance is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - outfile.write(' Instance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Instance), input_name='Instance')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType10(self.Type) # validate type TypeType10 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - value = find_attr_value_('Instance', node) - if value is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - self.Instance = value - self.validate_InstanceType(self.Instance) # validate type InstanceType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType - - -class InventoriesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, Inventory=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if Inventory is None: - self.Inventory = [] - else: - self.Inventory = Inventory - self.Inventory_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InventoriesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InventoriesType.subclass: - return InventoriesType.subclass(*args_, **kwargs_) - else: - return InventoriesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Inventory(self): - return self.Inventory - def set_Inventory(self, Inventory): - self.Inventory = Inventory - def add_Inventory(self, value): - self.Inventory.append(value) - def insert_Inventory_at(self, index, value): - self.Inventory.insert(index, value) - def replace_Inventory_at(self, index, value): - self.Inventory[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Inventory - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoriesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InventoriesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InventoriesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InventoriesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InventoriesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InventoriesType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoriesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Inventory_ in self.Inventory: - namespaceprefix_ = self.Inventory_nsprefix_ + ':' if (UseCapturedNS_ and self.Inventory_nsprefix_) else '' - Inventory_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Inventory', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Inventory': - obj_ = InventoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Inventory.append(obj_) - obj_.original_tagname_ = 'Inventory' -# end class InventoriesType - - -class InventoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StatusApplicationControl=None, InvCounts=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StatusApplicationControl = StatusApplicationControl - self.StatusApplicationControl_nsprefix_ = None - self.InvCounts = InvCounts - self.InvCounts_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InventoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InventoryType.subclass: - return InventoryType.subclass(*args_, **kwargs_) - else: - return InventoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StatusApplicationControl(self): - return self.StatusApplicationControl - def set_StatusApplicationControl(self, StatusApplicationControl): - self.StatusApplicationControl = StatusApplicationControl - def get_InvCounts(self): - return self.InvCounts - def set_InvCounts(self, InvCounts): - self.InvCounts = InvCounts - def has__content(self): - if ( - self.StatusApplicationControl is not None or - self.InvCounts is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InventoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InventoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InventoryType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InventoryType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InventoryType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoryType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StatusApplicationControl is not None: - namespaceprefix_ = self.StatusApplicationControl_nsprefix_ + ':' if (UseCapturedNS_ and self.StatusApplicationControl_nsprefix_) else '' - self.StatusApplicationControl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StatusApplicationControl', pretty_print=pretty_print) - if self.InvCounts is not None: - namespaceprefix_ = self.InvCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.InvCounts_nsprefix_) else '' - self.InvCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='InvCounts', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StatusApplicationControl': - obj_ = StatusApplicationControlType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StatusApplicationControl = obj_ - obj_.original_tagname_ = 'StatusApplicationControl' - elif nodeName_ == 'InvCounts': - obj_ = InvCountsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.InvCounts = obj_ - obj_.original_tagname_ = 'InvCounts' -# end class InventoryType - - -class StatusApplicationControlType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, InvTypeCode=None, InvCode=None, AllInvCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.AllInvCode = _cast(bool, AllInvCode) - self.AllInvCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StatusApplicationControlType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StatusApplicationControlType.subclass: - return StatusApplicationControlType.subclass(*args_, **kwargs_) - else: - return StatusApplicationControlType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_AllInvCode(self): - return self.AllInvCode - def set_AllInvCode(self, AllInvCode): - self.AllInvCode = AllInvCode - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StatusApplicationControlType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StatusApplicationControlType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StatusApplicationControlType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StatusApplicationControlType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StatusApplicationControlType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StatusApplicationControlType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.AllInvCode is not None and 'AllInvCode' not in already_processed: - already_processed.add('AllInvCode') - outfile.write(' AllInvCode="%s"' % self.gds_format_boolean(self.AllInvCode, input_name='AllInvCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StatusApplicationControlType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('AllInvCode', node) - if value is not None and 'AllInvCode' not in already_processed: - already_processed.add('AllInvCode') - if value in ('true', '1'): - self.AllInvCode = True - elif value in ('false', '0'): - self.AllInvCode = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.AllInvCode) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StatusApplicationControlType - - -class InvCountsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if InvCount is None: - self.InvCount = [] - else: - self.InvCount = InvCount - self.InvCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InvCountsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InvCountsType.subclass: - return InvCountsType.subclass(*args_, **kwargs_) - else: - return InvCountsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCount(self): - return self.InvCount - def set_InvCount(self, InvCount): - self.InvCount = InvCount - def add_InvCount(self, value): - self.InvCount.append(value) - def insert_InvCount_at(self, index, value): - self.InvCount.insert(index, value) - def replace_InvCount_at(self, index, value): - self.InvCount[index] = value - def has__content(self): - if ( - self.InvCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InvCountsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InvCountsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InvCountsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InvCountsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InvCountsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InvCountsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InvCountsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for InvCount_ in self.InvCount: - namespaceprefix_ = self.InvCount_nsprefix_ + ':' if (UseCapturedNS_ and self.InvCount_nsprefix_) else '' - InvCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='InvCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'InvCount': - obj_ = InvCountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.InvCount.append(obj_) - obj_.original_tagname_ = 'InvCount' -# end class InvCountsType - - -class InvCountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CountType=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CountType = _cast(None, CountType) - self.CountType_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InvCountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InvCountType.subclass: - return InvCountType.subclass(*args_, **kwargs_) - else: - return InvCountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CountType(self): - return self.CountType - def set_CountType(self, CountType): - self.CountType = CountType - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_CountTypeType(self, value): - # Validate type CountTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['2', '6', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CountTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='InvCountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InvCountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InvCountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InvCountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InvCountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InvCountType'): - if self.CountType is not None and 'CountType' not in already_processed: - already_processed.add('CountType') - outfile.write(' CountType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CountType), input_name='CountType')), )) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='InvCountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CountType', node) - if value is not None and 'CountType' not in already_processed: - already_processed.add('CountType') - self.CountType = value - self.validate_CountTypeType(self.CountType) # validate type CountTypeType - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Count) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class InvCountType - - -class ErrorType12(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType12) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType12.subclass: - return ErrorType12.subclass(*args_, **kwargs_) - else: - return ErrorType12(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType13(self, value): - # Validate type TypeType13, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType13' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType12', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType12') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType12': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType12') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType12'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType12', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType13(self.Type) # validate type TypeType13 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType12 - - -class WarningType15(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType15) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType15.subclass: - return WarningType15.subclass(*args_, **kwargs_) - else: - return WarningType15(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType15', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType15') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType15': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType15') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType15'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType15', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType15 - - -class HotelReservationsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservation is None: - self.HotelReservation = [] - else: - self.HotelReservation = HotelReservation - self.HotelReservation_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationsType.subclass: - return HotelReservationsType.subclass(*args_, **kwargs_) - else: - return HotelReservationsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservation(self): - return self.HotelReservation - def set_HotelReservation(self, HotelReservation): - self.HotelReservation = HotelReservation - def add_HotelReservation(self, value): - self.HotelReservation.append(value) - def insert_HotelReservation_at(self, index, value): - self.HotelReservation.insert(index, value) - def replace_HotelReservation_at(self, index, value): - self.HotelReservation[index] = value - def has__content(self): - if ( - self.HotelReservation - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservation_ in self.HotelReservation: - namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' - HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservation': - obj_ = HotelReservationType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservation.append(obj_) - obj_.original_tagname_ = 'HotelReservation' -# end class HotelReservationsType - - -class HotelReservationType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CreateDateTime = _cast(None, CreateDateTime) - self.CreateDateTime_nsprefix_ = None - self.LastModifyDateTime = _cast(None, LastModifyDateTime) - self.LastModifyDateTime_nsprefix_ = None - self.ResStatus = _cast(None, ResStatus) - self.ResStatus_nsprefix_ = None - self.RoomStayReservation = _cast(bool, RoomStayReservation) - self.RoomStayReservation_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RoomStays = RoomStays - self.RoomStays_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - self.ResGuests = ResGuests - self.ResGuests_nsprefix_ = None - self.ResGlobalInfo = ResGlobalInfo - self.ResGlobalInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType.subclass: - return HotelReservationType.subclass(*args_, **kwargs_) - else: - return HotelReservationType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RoomStays(self): - return self.RoomStays - def set_RoomStays(self, RoomStays): - self.RoomStays = RoomStays - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_ResGuests(self): - return self.ResGuests - def set_ResGuests(self, ResGuests): - self.ResGuests = ResGuests - def get_ResGlobalInfo(self): - return self.ResGlobalInfo - def set_ResGlobalInfo(self, ResGlobalInfo): - self.ResGlobalInfo = ResGlobalInfo - def get_CreateDateTime(self): - return self.CreateDateTime - def set_CreateDateTime(self, CreateDateTime): - self.CreateDateTime = CreateDateTime - def get_LastModifyDateTime(self): - return self.LastModifyDateTime - def set_LastModifyDateTime(self, LastModifyDateTime): - self.LastModifyDateTime = LastModifyDateTime - def get_ResStatus(self): - return self.ResStatus - def set_ResStatus(self, ResStatus): - self.ResStatus = ResStatus - def get_RoomStayReservation(self): - return self.RoomStayReservation - def set_RoomStayReservation(self, RoomStayReservation): - self.RoomStayReservation = RoomStayReservation - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def validate_ResStatusType(self, value): - # Validate type ResStatusType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.UniqueID is not None or - self.RoomStays is not None or - self.Services is not None or - self.ResGuests is not None or - self.ResGlobalInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType'): - if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) - if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) - if self.ResStatus is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) - if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RoomStays is not None: - namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' - self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - if self.ResGuests is not None: - namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' - self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) - if self.ResGlobalInfo is not None: - namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' - self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CreateDateTime', node) - if value is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - try: - self.CreateDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) - self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime - value = find_attr_value_('LastModifyDateTime', node) - if value is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - try: - self.LastModifyDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) - self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime - value = find_attr_value_('ResStatus', node) - if value is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - self.ResStatus = value - self.validate_ResStatusType(self.ResStatus) # validate type ResStatusType - value = find_attr_value_('RoomStayReservation', node) - if value is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - if value in ('true', '1'): - self.RoomStayReservation = True - elif value in ('false', '0'): - self.RoomStayReservation = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RoomStayReservation) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType16.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RoomStays': - obj_ = RoomStaysType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStays = obj_ - obj_.original_tagname_ = 'RoomStays' - elif nodeName_ == 'Services': - obj_ = ServicesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' - elif nodeName_ == 'ResGuests': - obj_ = ResGuestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuests = obj_ - obj_.original_tagname_ = 'ResGuests' - elif nodeName_ == 'ResGlobalInfo': - obj_ = ResGlobalInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGlobalInfo = obj_ - obj_.original_tagname_ = 'ResGlobalInfo' -# end class HotelReservationType - - -class UniqueIDType16(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType16) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType16.subclass: - return UniqueIDType16.subclass(*args_, **kwargs_) - else: - return UniqueIDType16(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType17(self, value): - # Validate type TypeType17, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType17' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType16', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType16') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType16': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType16') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType16', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType16'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType16', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType17(self.Type) # validate type TypeType17 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType16 - - -class RoomStaysType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if RoomStay is None: - self.RoomStay = [] - else: - self.RoomStay = RoomStay - self.RoomStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStaysType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStaysType.subclass: - return RoomStaysType.subclass(*args_, **kwargs_) - else: - return RoomStaysType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomStay(self): - return self.RoomStay - def set_RoomStay(self, RoomStay): - self.RoomStay = RoomStay - def add_RoomStay(self, value): - self.RoomStay.append(value) - def insert_RoomStay_at(self, index, value): - self.RoomStay.insert(index, value) - def replace_RoomStay_at(self, index, value): - self.RoomStay[index] = value - def has__content(self): - if ( - self.RoomStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStaysType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RoomStay_ in self.RoomStay: - namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' - RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomStay': - obj_ = RoomStayType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStay.append(obj_) - obj_.original_tagname_ = 'RoomStay' -# end class RoomStaysType - - -class RoomStayType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomStayGroupID = _cast(None, RoomStayGroupID) - self.RoomStayGroupID_nsprefix_ = None - self.RoomTypes = RoomTypes - self.RoomTypes_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - self.RoomRates = RoomRates - self.RoomRates_nsprefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Guarantee = Guarantee - self.Guarantee_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceRPHs = ServiceRPHs - self.ServiceRPHs_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStayType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStayType.subclass: - return RoomStayType.subclass(*args_, **kwargs_) - else: - return RoomStayType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypes(self): - return self.RoomTypes - def set_RoomTypes(self, RoomTypes): - self.RoomTypes = RoomTypes - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_RoomRates(self): - return self.RoomRates - def set_RoomRates(self, RoomRates): - self.RoomRates = RoomRates - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Guarantee(self): - return self.Guarantee - def set_Guarantee(self, Guarantee): - self.Guarantee = Guarantee - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceRPHs(self): - return self.ServiceRPHs - def set_ServiceRPHs(self, ServiceRPHs): - self.ServiceRPHs = ServiceRPHs - def get_RoomStayGroupID(self): - return self.RoomStayGroupID - def set_RoomStayGroupID(self, RoomStayGroupID): - self.RoomStayGroupID = RoomStayGroupID - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RoomTypes is not None or - self.RatePlans is not None or - self.RoomRates is not None or - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Guarantee is not None or - self.Total is not None or - self.ServiceRPHs is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStayType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType'): - if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomTypes is not None: - namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' - self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - if self.RoomRates is not None: - namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' - self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Guarantee is not None: - namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' - self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceRPHs is not None: - namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' - self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomStayGroupID', node) - if value is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - self.RoomStayGroupID = value - self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomTypes': - obj_ = RoomTypesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomTypes = obj_ - obj_.original_tagname_ = 'RoomTypes' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' - elif nodeName_ == 'RoomRates': - obj_ = RoomRatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRates = obj_ - obj_.original_tagname_ = 'RoomRates' - elif nodeName_ == 'GuestCounts': - obj_ = GuestCountsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Guarantee': - obj_ = GuaranteeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guarantee = obj_ - obj_.original_tagname_ = 'Guarantee' - elif nodeName_ == 'Total': - obj_ = TotalType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceRPHs': - obj_ = ServiceRPHsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPHs = obj_ - obj_.original_tagname_ = 'ServiceRPHs' -# end class RoomStayType - - -class RoomTypesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomType = RoomType - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypesType.subclass: - return RoomTypesType.subclass(*args_, **kwargs_) - else: - return RoomTypesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def has__content(self): - if ( - self.RoomType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomType is not None: - namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' - self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomType': - obj_ = RoomTypeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomType = obj_ - obj_.original_tagname_ = 'RoomType' -# end class RoomTypesType - - -class RoomTypeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypeType.subclass: - return RoomTypeType.subclass(*args_, **kwargs_) - else: - return RoomTypeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_RoomTypeType18(self, value): - # Validate type RoomTypeType18, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType18' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType'): - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType18(self.RoomType) # validate type RoomTypeType18 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RoomTypeType - - -class RatePlansType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType.subclass: - return RatePlansType.subclass(*args_, **kwargs_) - else: - return RatePlansType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType - - -class RatePlanType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.Commission = Commission - self.Commission_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType.subclass: - return RatePlanType.subclass(*args_, **kwargs_) - else: - return RatePlanType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Commission(self): - return self.Commission - def set_Commission(self, Commission): - self.Commission = Commission - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Commission is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Commission is not None: - namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' - self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Commission': - obj_ = CommissionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Commission = obj_ - obj_.original_tagname_ = 'Commission' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RatePlanType - - -class CommissionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(int, Percent) - self.Percent_nsprefix_ = None - self.CommissionPayableAmount = CommissionPayableAmount - self.CommissionPayableAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionType.subclass: - return CommissionType.subclass(*args_, **kwargs_) - else: - return CommissionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CommissionPayableAmount(self): - return self.CommissionPayableAmount - def set_CommissionPayableAmount(self, CommissionPayableAmount): - self.CommissionPayableAmount = CommissionPayableAmount - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CommissionPayableAmount is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CommissionPayableAmount is not None: - namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' - self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = self.gds_parse_integer(value, node, 'Percent') - if self.Percent < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CommissionPayableAmount': - obj_ = CommissionPayableAmountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CommissionPayableAmount = obj_ - obj_.original_tagname_ = 'CommissionPayableAmount' -# end class CommissionType - - -class CommissionPayableAmountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionPayableAmountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionPayableAmountType.subclass: - return CommissionPayableAmountType.subclass(*args_, **kwargs_) - else: - return CommissionPayableAmountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CommissionPayableAmountType - - -class MealsIncludedType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType.subclass: - return MealsIncludedType.subclass(*args_, **kwargs_) - else: - return MealsIncludedType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def validate_MealPlanIndicatorType(self, value): - # Validate type MealPlanIndicatorType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanCodesType(self, value): - # Validate type MealPlanCodesType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType'): - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType(self.MealPlanIndicator) # validate type MealPlanIndicatorType - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType(self.MealPlanCodes) # validate type MealPlanCodesType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType - - -class RoomRatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomRate = RoomRate - self.RoomRate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRatesType.subclass: - return RoomRatesType.subclass(*args_, **kwargs_) - else: - return RoomRatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomRate(self): - return self.RoomRate - def set_RoomRate(self, RoomRate): - self.RoomRate = RoomRate - def has__content(self): - if ( - self.RoomRate is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomRate is not None: - namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' - self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomRate': - obj_ = RoomRateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRate = obj_ - obj_.original_tagname_ = 'RoomRate' -# end class RoomRatesType - - -class RoomRateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRateType.subclass: - return RoomRateType.subclass(*args_, **kwargs_) - else: - return RoomRateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Rates is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rates': - obj_ = RatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' -# end class RoomRateType - - -class RatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType.subclass: - return RatesType.subclass(*args_, **kwargs_) - else: - return RatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType - - -class RateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EffectiveDate = _cast(None, EffectiveDate) - self.EffectiveDate_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) - self.ExpireDateExclusiveInd_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - if Base is None: - self.Base = [] - else: - self.Base = Base - self.Base_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType.subclass: - return RateType.subclass(*args_, **kwargs_) - else: - return RateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Base(self): - return self.Base - def set_Base(self, Base): - self.Base = Base - def add_Base(self, value): - self.Base.append(value) - def insert_Base_at(self, index, value): - self.Base.insert(index, value) - def replace_Base_at(self, index, value): - self.Base[index] = value - def get_EffectiveDate(self): - return self.EffectiveDate - def set_EffectiveDate(self, EffectiveDate): - self.EffectiveDate = EffectiveDate - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def get_ExpireDateExclusiveInd(self): - return self.ExpireDateExclusiveInd - def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): - self.ExpireDateExclusiveInd = ExpireDateExclusiveInd - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType(self, value): - # Validate type RateTimeUnitType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Base - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType'): - if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) - if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Base_ in self.Base: - namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' - Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EffectiveDate', node) - if value is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - try: - self.EffectiveDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) - self.validate_def_date(self.EffectiveDate) # validate type def_date - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - try: - self.ExpireDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (ExpireDate): %s' % exp) - self.validate_def_date(self.ExpireDate) # validate type def_date - value = find_attr_value_('ExpireDateExclusiveInd', node) - if value is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - if value in ('true', '1'): - self.ExpireDateExclusiveInd = True - elif value in ('false', '0'): - self.ExpireDateExclusiveInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType(self.RateTimeUnit) # validate type RateTimeUnitType - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Base': - obj_ = BaseType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Base.append(obj_) - obj_.original_tagname_ = 'Base' -# end class RateType - - -class BaseType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseType.subclass: - return BaseType.subclass(*args_, **kwargs_) - else: - return BaseType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseType - - -class GuestCountsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType.subclass: - return GuestCountsType.subclass(*args_, **kwargs_) - else: - return GuestCountsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType - - -class GuestCountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType.subclass: - return GuestCountType.subclass(*args_, **kwargs_) - else: - return GuestCountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType'): - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType - - -class TimeSpanType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.StartDateWindow = StartDateWindow - self.StartDateWindow_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType.subclass: - return TimeSpanType.subclass(*args_, **kwargs_) - else: - return TimeSpanType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StartDateWindow(self): - return self.StartDateWindow - def set_StartDateWindow(self, StartDateWindow): - self.StartDateWindow = StartDateWindow - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_DurationType(self, value): - # Validate type DurationType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType_patterns_, )) - validate_DurationType_patterns_ = [['^(P[0-9]+N)$']] - def has__content(self): - if ( - self.StartDateWindow is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StartDateWindow is not None: - namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' - self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType(self.Duration) # validate type DurationType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StartDateWindow': - obj_ = StartDateWindowType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StartDateWindow = obj_ - obj_.original_tagname_ = 'StartDateWindow' -# end class TimeSpanType - - -class StartDateWindowType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EarliestDate = _cast(None, EarliestDate) - self.EarliestDate_nsprefix_ = None - self.LatestDate = _cast(None, LatestDate) - self.LatestDate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StartDateWindowType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StartDateWindowType.subclass: - return StartDateWindowType.subclass(*args_, **kwargs_) - else: - return StartDateWindowType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EarliestDate(self): - return self.EarliestDate - def set_EarliestDate(self, EarliestDate): - self.EarliestDate = EarliestDate - def get_LatestDate(self): - return self.LatestDate - def set_LatestDate(self, LatestDate): - self.LatestDate = LatestDate - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StartDateWindowType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType'): - if self.EarliestDate is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) - if self.LatestDate is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EarliestDate', node) - if value is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - try: - self.EarliestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EarliestDate): %s' % exp) - self.validate_def_date(self.EarliestDate) # validate type def_date - value = find_attr_value_('LatestDate', node) - if value is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - try: - self.LatestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (LatestDate): %s' % exp) - self.validate_def_date(self.LatestDate) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StartDateWindowType - - -class GuaranteeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteesAccepted = GuaranteesAccepted - self.GuaranteesAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeType.subclass: - return GuaranteeType.subclass(*args_, **kwargs_) - else: - return GuaranteeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteesAccepted(self): - return self.GuaranteesAccepted - def set_GuaranteesAccepted(self, GuaranteesAccepted): - self.GuaranteesAccepted = GuaranteesAccepted - def has__content(self): - if ( - self.GuaranteesAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteesAccepted is not None: - namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' - self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteesAccepted': - obj_ = GuaranteesAcceptedType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteesAccepted = obj_ - obj_.original_tagname_ = 'GuaranteesAccepted' -# end class GuaranteeType - - -class GuaranteesAcceptedType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeAccepted = GuaranteeAccepted - self.GuaranteeAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteesAcceptedType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteesAcceptedType.subclass: - return GuaranteesAcceptedType.subclass(*args_, **kwargs_) - else: - return GuaranteesAcceptedType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteeAccepted(self): - return self.GuaranteeAccepted - def set_GuaranteeAccepted(self, GuaranteeAccepted): - self.GuaranteeAccepted = GuaranteeAccepted - def has__content(self): - if ( - self.GuaranteeAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteeAccepted is not None: - namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' - self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteeAccepted': - obj_ = GuaranteeAcceptedType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteeAccepted = obj_ - obj_.original_tagname_ = 'GuaranteeAccepted' -# end class GuaranteesAcceptedType - - -class GuaranteeAcceptedType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeAcceptedType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeAcceptedType.subclass: - return GuaranteeAcceptedType.subclass(*args_, **kwargs_) - else: - return GuaranteeAcceptedType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class GuaranteeAcceptedType - - -class PaymentCardType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType.subclass: - return PaymentCardType.subclass(*args_, **kwargs_) - else: - return PaymentCardType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType(self, value): - # Validate type CardCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType_patterns_, )) - validate_CardCodeType_patterns_ = [['^([A-Z][A-Z]?)$']] - def validate_ExpireDateType(self, value): - # Validate type ExpireDateType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType_patterns_, )) - validate_ExpireDateType_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType(self.CardCode) # validate type CardCodeType - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType(self.ExpireDate) # validate type ExpireDateType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType - - -class CardNumberType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EncryptedValue = _cast(None, EncryptedValue) - self.EncryptedValue_nsprefix_ = None - self.EncryptionMethod = _cast(None, EncryptionMethod) - self.EncryptionMethod_nsprefix_ = None - self.PlainText = PlainText - self.validate_def_nonempty_string(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType.subclass: - return CardNumberType.subclass(*args_, **kwargs_) - else: - return CardNumberType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_EncryptedValue(self): - return self.EncryptedValue - def set_EncryptedValue(self, EncryptedValue): - self.EncryptedValue = EncryptedValue - def get_EncryptionMethod(self): - return self.EncryptionMethod - def set_EncryptionMethod(self, EncryptionMethod): - self.EncryptionMethod = EncryptionMethod - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType'): - if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) - if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EncryptedValue', node) - if value is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - self.EncryptedValue = value - self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string - value = find_attr_value_('EncryptionMethod', node) - if value is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - self.EncryptionMethod = value - self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.PlainText) -# end class CardNumberType - - -class TotalType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType.subclass: - return TotalType.subclass(*args_, **kwargs_) - else: - return TotalType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType - - -class ServiceRPHsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ServiceRPH is None: - self.ServiceRPH = [] - else: - self.ServiceRPH = ServiceRPH - self.ServiceRPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHsType.subclass: - return ServiceRPHsType.subclass(*args_, **kwargs_) - else: - return ServiceRPHsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def add_ServiceRPH(self, value): - self.ServiceRPH.append(value) - def insert_ServiceRPH_at(self, index, value): - self.ServiceRPH.insert(index, value) - def replace_ServiceRPH_at(self, index, value): - self.ServiceRPH[index] = value - def has__content(self): - if ( - self.ServiceRPH - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ServiceRPH_ in self.ServiceRPH: - namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' - ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceRPH': - obj_ = ServiceRPHType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPH.append(obj_) - obj_.original_tagname_ = 'ServiceRPH' -# end class ServiceRPHsType - - -class ServiceRPHType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RPH = _cast(None, RPH) - self.RPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHType.subclass: - return ServiceRPHType.subclass(*args_, **kwargs_) - else: - return ServiceRPHType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RPH(self): - return self.RPH - def set_RPH(self, RPH): - self.RPH = RPH - def validate_RPHType(self, value): - # Validate type RPHType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RPHType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType_patterns_, )) - validate_RPHType_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType'): - if self.RPH is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RPH', node) - if value is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - self.RPH = value - self.validate_RPHType(self.RPH) # validate type RPHType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ServiceRPHType - - -class ServicesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType.subclass: - return ServicesType.subclass(*args_, **kwargs_) - else: - return ServicesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType - - -class ServiceType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) - self.ServiceCategoryCode_nsprefix_ = None - self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) - self.ServiceInventoryCode_nsprefix_ = None - self.ServiceRPH = _cast(None, ServiceRPH) - self.ServiceRPH_nsprefix_ = None - self.ServicePricingType = _cast(None, ServicePricingType) - self.ServicePricingType_nsprefix_ = None - self.Inclusive = _cast(bool, Inclusive) - self.Inclusive_nsprefix_ = None - self.Quantity = _cast(int, Quantity) - self.Quantity_nsprefix_ = None - self.ServiceDetails = ServiceDetails - self.ServiceDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType.subclass: - return ServiceType.subclass(*args_, **kwargs_) - else: - return ServiceType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceDetails(self): - return self.ServiceDetails - def set_ServiceDetails(self, ServiceDetails): - self.ServiceDetails = ServiceDetails - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ServiceCategoryCode(self): - return self.ServiceCategoryCode - def set_ServiceCategoryCode(self, ServiceCategoryCode): - self.ServiceCategoryCode = ServiceCategoryCode - def get_ServiceInventoryCode(self): - return self.ServiceInventoryCode - def set_ServiceInventoryCode(self, ServiceInventoryCode): - self.ServiceInventoryCode = ServiceInventoryCode - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def get_ServicePricingType(self): - return self.ServicePricingType - def set_ServicePricingType(self, ServicePricingType): - self.ServicePricingType = ServicePricingType - def get_Inclusive(self): - return self.Inclusive - def set_Inclusive(self, Inclusive): - self.Inclusive = Inclusive - def get_Quantity(self): - return self.Quantity - def set_Quantity(self, Quantity): - self.Quantity = Quantity - def validate_def_one_to_thirty_two_chars_string(self, value): - # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType28(self, value): - # Validate type TypeType28, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType28' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceCategoryCodeType(self, value): - # Validate type ServiceCategoryCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceRPHType29(self, value): - # Validate type ServiceRPHType29, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ServiceRPHType29_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType29_patterns_, )) - validate_ServiceRPHType29_patterns_ = [['^([0-9]{1,8})$']] - def validate_ServicePricingTypeType(self, value): - # Validate type ServicePricingTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ServiceDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) - if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) - if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) - if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) - if self.Inclusive is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) - if self.Quantity is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ServiceDetails is not None: - namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' - self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType28(self.Type) # validate type TypeType28 - value = find_attr_value_('ServiceCategoryCode', node) - if value is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - self.ServiceCategoryCode = value - self.validate_ServiceCategoryCodeType(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType - value = find_attr_value_('ServiceInventoryCode', node) - if value is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - self.ServiceInventoryCode = value - self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('ServiceRPH', node) - if value is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - self.ServiceRPH = value - self.validate_ServiceRPHType29(self.ServiceRPH) # validate type ServiceRPHType29 - value = find_attr_value_('ServicePricingType', node) - if value is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - self.ServicePricingType = value - self.validate_ServicePricingTypeType(self.ServicePricingType) # validate type ServicePricingTypeType - value = find_attr_value_('Inclusive', node) - if value is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - if value in ('true', '1'): - self.Inclusive = True - elif value in ('false', '0'): - self.Inclusive = False - else: - raise_parse_error(node, 'Bad boolean attribute') - value = find_attr_value_('Quantity', node) - if value is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - self.Quantity = self.gds_parse_integer(value, node, 'Quantity') - if self.Quantity <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceDetails': - obj_ = ServiceDetailsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDetails = obj_ - obj_.original_tagname_ = 'ServiceDetails' -# end class ServiceType - - -class ServiceDetailsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceDescription = ServiceDescription - self.ServiceDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDetailsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDetailsType.subclass: - return ServiceDetailsType.subclass(*args_, **kwargs_) - else: - return ServiceDetailsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceDescription(self): - return self.ServiceDescription - def set_ServiceDescription(self, ServiceDescription): - self.ServiceDescription = ServiceDescription - def has__content(self): - if ( - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Comments is not None or - self.Total is not None or - self.ServiceDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDetailsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceDescription is not None: - namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' - self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCounts': - obj_ = GuestCountsType19.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType21.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Comments': - obj_ = CommentsType22.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'Total': - obj_ = TotalType25.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceDescription': - obj_ = ServiceDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDescription = obj_ - obj_.original_tagname_ = 'ServiceDescription' -# end class ServiceDetailsType - - -class GuestCountType20(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType20) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType20.subclass: - return GuestCountType20.subclass(*args_, **kwargs_) - else: - return GuestCountType20(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType20', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType20') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType20': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType20') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType20', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType20'): - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType20', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType20 - - -class TimeSpanType21(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType21) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType21.subclass: - return TimeSpanType21.subclass(*args_, **kwargs_) - else: - return TimeSpanType21(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType21', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType21') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType21': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType21') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType21', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType21'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType21', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (End): %s' % exp) - self.validate_def_datetime(self.End) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TimeSpanType21 - - -class CommentsType22(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType22) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType22.subclass: - return CommentsType22.subclass(*args_, **kwargs_) - else: - return CommentsType22(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def has__content(self): - if ( - self.Comment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType22', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType22') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType22': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType22') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType22', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType22'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType22', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comment is not None: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType23.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment = obj_ - obj_.original_tagname_ = 'Comment' -# end class CommentsType22 - - -class CommentType23(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType23) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType23.subclass: - return CommentType23.subclass(*args_, **kwargs_) - else: - return CommentType23(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType23', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType23') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType23': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType23') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType23', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType23'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType23', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType24.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class CommentType23 - - -class TextType24(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType24) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType24.subclass: - return TextType24.subclass(*args_, **kwargs_) - else: - return TextType24(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType(self, value): - # Validate type TextFormatType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType24', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType24') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType24': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType24') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType24'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType24', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType(self.TextFormat) # validate type TextFormatType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType24 - - -class ServiceDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDescriptionType.subclass: - return ServiceDescriptionType.subclass(*args_, **kwargs_) - else: - return ServiceDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType26.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class ServiceDescriptionType - - -class TextType26(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType26) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType26.subclass: - return TextType26.subclass(*args_, **kwargs_) - else: - return TextType26(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType27(self, value): - # Validate type TextFormatType27, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType27' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType26', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType26') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType26': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType26') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType26'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType26', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType27(self.TextFormat) # validate type TextFormatType27 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType26 - - -class ResGuestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResGuest = ResGuest - self.ResGuest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestsType.subclass: - return ResGuestsType.subclass(*args_, **kwargs_) - else: - return ResGuestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResGuest(self): - return self.ResGuest - def set_ResGuest(self, ResGuest): - self.ResGuest = ResGuest - def has__content(self): - if ( - self.ResGuest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ResGuest is not None: - namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' - self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ResGuest': - obj_ = ResGuestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuest = obj_ - obj_.original_tagname_ = 'ResGuest' -# end class ResGuestsType - - -class ResGuestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestType.subclass: - return ResGuestType.subclass(*args_, **kwargs_) - else: - return ResGuestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def has__content(self): - if ( - self.Profiles is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profiles': - obj_ = ProfilesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' -# end class ResGuestType - - -class ProfilesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType.subclass: - return ProfilesType.subclass(*args_, **kwargs_) - else: - return ProfilesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType - - -class ProfileInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType.subclass: - return ProfileInfoType.subclass(*args_, **kwargs_) - else: - return ProfileInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType - - -class ProfileType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Customer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Customer = Customer - self.Customer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType.subclass: - return ProfileType.subclass(*args_, **kwargs_) - else: - return ProfileType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Customer(self): - return self.Customer - def set_Customer(self, Customer): - self.Customer = Customer - def has__content(self): - if ( - self.Customer is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Customer is not None: - namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' - self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Customer': - obj_ = CustomerType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Customer = obj_ - obj_.original_tagname_ = 'Customer' -# end class ProfileType - - -class CustomerType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Gender = _cast(None, Gender) - self.Gender_nsprefix_ = None - self.BirthDate = _cast(None, BirthDate) - self.BirthDate_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - if Telephone is None: - self.Telephone = [] - else: - self.Telephone = Telephone - self.Telephone_nsprefix_ = None - self.Email = Email - self.Email_nsprefix_ = None - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerType.subclass: - return CustomerType.subclass(*args_, **kwargs_) - else: - return CustomerType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_Telephone(self): - return self.Telephone - def set_Telephone(self, Telephone): - self.Telephone = Telephone - def add_Telephone(self, value): - self.Telephone.append(value) - def insert_Telephone_at(self, index, value): - self.Telephone.insert(index, value) - def replace_Telephone_at(self, index, value): - self.Telephone[index] = value - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def get_Gender(self): - return self.Gender - def set_Gender(self, Gender): - self.Gender = Gender - def get_BirthDate(self): - return self.BirthDate - def set_BirthDate(self, BirthDate): - self.BirthDate = BirthDate - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_GenderType(self, value): - # Validate type GenderType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_GenderType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType_patterns_, )) - validate_GenderType_patterns_ = [['^((Unknown|Male|Female))$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_LanguageType32(self, value): - # Validate type LanguageType32, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType32_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType32_patterns_, )) - validate_LanguageType32_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.PersonName is not None or - self.Telephone or - self.Email is not None or - self.Address is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType'): - if self.Gender is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) - if self.BirthDate is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - for Telephone_ in self.Telephone: - namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' - Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - if self.Address is not None: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Gender', node) - if value is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - self.Gender = value - self.validate_GenderType(self.Gender) # validate type GenderType - value = find_attr_value_('BirthDate', node) - if value is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - try: - self.BirthDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (BirthDate): %s' % exp) - self.validate_def_date(self.BirthDate) # validate type def_date - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType32(self.Language) # validate type LanguageType32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType30.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'Telephone': - obj_ = TelephoneType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Telephone.append(obj_) - obj_.original_tagname_ = 'Telephone' - elif nodeName_ == 'Email': - obj_ = EmailType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email = obj_ - obj_.original_tagname_ = 'Email' - elif nodeName_ == 'Address': - obj_ = AddressType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address = obj_ - obj_.original_tagname_ = 'Address' -# end class CustomerType - - -class PersonNameType30(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NamePrefix = NamePrefix - self.validate_StringLength1to16(self.NamePrefix) - self.NamePrefix_nsprefix_ = None - self.GivenName = GivenName - self.validate_StringLength1to64(self.GivenName) - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.validate_StringLength1to64(self.Surname) - self.Surname_nsprefix_ = None - self.NameTitle = NameTitle - self.validate_StringLength1to16(self.NameTitle) - self.NameTitle_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType30) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType30.subclass: - return PersonNameType30.subclass(*args_, **kwargs_) - else: - return PersonNameType30(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NamePrefix(self): - return self.NamePrefix - def set_NamePrefix(self, NamePrefix): - self.NamePrefix = NamePrefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def get_NameTitle(self): - return self.NameTitle - def set_NameTitle(self, NameTitle): - self.NameTitle = NameTitle - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.NamePrefix is not None or - self.GivenName is not None or - self.Surname is not None or - self.NameTitle is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType30', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType30') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType30': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType30') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType30', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType30'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType30', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.NamePrefix is not None: - namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) - if self.NameTitle is not None: - namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'NamePrefix': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NamePrefix') - value_ = self.gds_validate_string(value_, node, 'NamePrefix') - self.NamePrefix = value_ - self.NamePrefix_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NamePrefix) - elif nodeName_ == 'GivenName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'GivenName') - value_ = self.gds_validate_string(value_, node, 'GivenName') - self.GivenName = value_ - self.GivenName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.GivenName) - elif nodeName_ == 'Surname': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Surname') - value_ = self.gds_validate_string(value_, node, 'Surname') - self.Surname = value_ - self.Surname_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.Surname) - elif nodeName_ == 'NameTitle': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NameTitle') - value_ = self.gds_validate_string(value_, node, 'NameTitle') - self.NameTitle = value_ - self.NameTitle_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NameTitle) -# end class PersonNameType30 - - -class TelephoneType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneType.subclass: - return TelephoneType.subclass(*args_, **kwargs_) - else: - return TelephoneType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType(self, value): - # Validate type PhoneTechTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType_patterns_, )) - validate_PhoneTechTypeType_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType(self, value): - # Validate type PhoneNumberType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType_patterns_, )) - validate_PhoneNumberType_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType(self.PhoneTechType) # validate type PhoneTechTypeType - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType(self.PhoneNumber) # validate type PhoneNumberType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneType - - -class EmailType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType.subclass: - return EmailType.subclass(*args_, **kwargs_) - else: - return EmailType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_email_string(self, value): - result = True - # Validate type def_email_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_email_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) - result = False - return result - validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] - def validate_RemarkType(self, value): - # Validate type RemarkType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType_patterns_, )) - validate_RemarkType_patterns_ = [['^(newsletter:(no|yes))$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType(self.Remark) # validate type RemarkType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType - - -class AddressType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType.subclass: - return AddressType.subclass(*args_, **kwargs_) - else: - return AddressType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_RemarkType31(self, value): - # Validate type RemarkType31, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType31_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType31_patterns_, )) - validate_RemarkType31_patterns_ = [['^(catalog:(no|yes))$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType31(self.Remark) # validate type RemarkType31 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType - - -class CountryNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType.subclass: - return CountryNameType.subclass(*args_, **kwargs_) - else: - return CountryNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType(self, value): - # Validate type CodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType_patterns_, )) - validate_CodeType_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType(self.Code) # validate type CodeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType - - -class ResGlobalInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.SpecialRequests = SpecialRequests - self.SpecialRequests_nsprefix_ = None - self.DepositPayments = DepositPayments - self.DepositPayments_nsprefix_ = None - self.CancelPenalties = CancelPenalties - self.CancelPenalties_nsprefix_ = None - self.HotelReservationIDs = HotelReservationIDs - self.HotelReservationIDs_nsprefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - self.BasicPropertyInfo = BasicPropertyInfo - self.BasicPropertyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGlobalInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGlobalInfoType.subclass: - return ResGlobalInfoType.subclass(*args_, **kwargs_) - else: - return ResGlobalInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_SpecialRequests(self): - return self.SpecialRequests - def set_SpecialRequests(self, SpecialRequests): - self.SpecialRequests = SpecialRequests - def get_DepositPayments(self): - return self.DepositPayments - def set_DepositPayments(self, DepositPayments): - self.DepositPayments = DepositPayments - def get_CancelPenalties(self): - return self.CancelPenalties - def set_CancelPenalties(self, CancelPenalties): - self.CancelPenalties = CancelPenalties - def get_HotelReservationIDs(self): - return self.HotelReservationIDs - def set_HotelReservationIDs(self, HotelReservationIDs): - self.HotelReservationIDs = HotelReservationIDs - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def get_BasicPropertyInfo(self): - return self.BasicPropertyInfo - def set_BasicPropertyInfo(self, BasicPropertyInfo): - self.BasicPropertyInfo = BasicPropertyInfo - def has__content(self): - if ( - self.Comments is not None or - self.SpecialRequests is not None or - self.DepositPayments is not None or - self.CancelPenalties is not None or - self.HotelReservationIDs is not None or - self.Profiles is not None or - self.BasicPropertyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.SpecialRequests is not None: - namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' - self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) - if self.DepositPayments is not None: - namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' - self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) - if self.CancelPenalties is not None: - namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' - self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) - if self.HotelReservationIDs is not None: - namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' - self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - if self.BasicPropertyInfo is not None: - namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' - self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comments': - obj_ = CommentsType33.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'SpecialRequests': - obj_ = SpecialRequestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequests = obj_ - obj_.original_tagname_ = 'SpecialRequests' - elif nodeName_ == 'DepositPayments': - obj_ = DepositPaymentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepositPayments = obj_ - obj_.original_tagname_ = 'DepositPayments' - elif nodeName_ == 'CancelPenalties': - obj_ = CancelPenaltiesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalties = obj_ - obj_.original_tagname_ = 'CancelPenalties' - elif nodeName_ == 'HotelReservationIDs': - obj_ = HotelReservationIDsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationIDs = obj_ - obj_.original_tagname_ = 'HotelReservationIDs' - elif nodeName_ == 'Profiles': - obj_ = ProfilesType44.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' - elif nodeName_ == 'BasicPropertyInfo': - obj_ = BasicPropertyInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BasicPropertyInfo = obj_ - obj_.original_tagname_ = 'BasicPropertyInfo' -# end class ResGlobalInfoType - - -class CommentsType33(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType33) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType33.subclass: - return CommentsType33.subclass(*args_, **kwargs_) - else: - return CommentsType33(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType33', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType33') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType33': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType33') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType33', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType33'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType33', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType34.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType33 - - -class CommentType34(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType34) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType34.subclass: - return CommentType34.subclass(*args_, **kwargs_) - else: - return CommentType34(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_NameType36(self, value): - # Validate type NameType36, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services', 'customer comment', 'additional info'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType36' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType34', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType34') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType34': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType34') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType34', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType34'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType34', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType36(self.Name) # validate type NameType36 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' - elif nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class CommentType34 - - -class ListItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType.subclass: - return ListItemType.subclass(*args_, **kwargs_) - else: - return ListItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType35(self, value): - # Validate type LanguageType35, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType35_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType35_patterns_, )) - validate_LanguageType35_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType35(self.Language) # validate type LanguageType35 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType - - -class SpecialRequestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if SpecialRequest is None: - self.SpecialRequest = [] - else: - self.SpecialRequest = SpecialRequest - self.SpecialRequest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestsType.subclass: - return SpecialRequestsType.subclass(*args_, **kwargs_) - else: - return SpecialRequestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_SpecialRequest(self): - return self.SpecialRequest - def set_SpecialRequest(self, SpecialRequest): - self.SpecialRequest = SpecialRequest - def add_SpecialRequest(self, value): - self.SpecialRequest.append(value) - def insert_SpecialRequest_at(self, index, value): - self.SpecialRequest.insert(index, value) - def replace_SpecialRequest_at(self, index, value): - self.SpecialRequest[index] = value - def has__content(self): - if ( - self.SpecialRequest - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for SpecialRequest_ in self.SpecialRequest: - namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' - SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'SpecialRequest': - obj_ = SpecialRequestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequest.append(obj_) - obj_.original_tagname_ = 'SpecialRequest' -# end class SpecialRequestsType - - -class SpecialRequestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RequestCode = _cast(None, RequestCode) - self.RequestCode_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestType.subclass: - return SpecialRequestType.subclass(*args_, **kwargs_) - else: - return SpecialRequestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_RequestCode(self): - return self.RequestCode - def set_RequestCode(self, RequestCode): - self.RequestCode = RequestCode - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_CodeContextType(self, value): - # Validate type CodeContextType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS', 'HOTEL'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType'): - if self.RequestCode is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RequestCode', node) - if value is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - self.RequestCode = value - self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType(self.CodeContext) # validate type CodeContextType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType37.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class SpecialRequestType - - -class TextType37(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType37) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType37.subclass: - return TextType37.subclass(*args_, **kwargs_) - else: - return TextType37(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TextFormatType38(self, value): - # Validate type TextFormatType38, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType38' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType37', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType37') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType37': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType37') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType37'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType37', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType38(self.TextFormat) # validate type TextFormatType38 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType37 - - -class DepositPaymentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuaranteePayment is None: - self.GuaranteePayment = [] - else: - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepositPaymentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepositPaymentsType.subclass: - return DepositPaymentsType.subclass(*args_, **kwargs_) - else: - return DepositPaymentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def add_GuaranteePayment(self, value): - self.GuaranteePayment.append(value) - def insert_GuaranteePayment_at(self, index, value): - self.GuaranteePayment.insert(index, value) - def replace_GuaranteePayment_at(self, index, value): - self.GuaranteePayment[index] = value - def has__content(self): - if ( - self.GuaranteePayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepositPaymentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuaranteePayment_ in self.GuaranteePayment: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment.append(obj_) - obj_.original_tagname_ = 'GuaranteePayment' -# end class DepositPaymentsType - - -class GuaranteePaymentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.GuaranteeCode = _cast(None, GuaranteeCode) - self.GuaranteeCode_nsprefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType.subclass: - return GuaranteePaymentType.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_GuaranteeCode(self): - return self.GuaranteeCode - def set_GuaranteeCode(self, GuaranteeCode): - self.GuaranteeCode = GuaranteeCode - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - value = find_attr_value_('GuaranteeCode', node) - if value is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - self.GuaranteeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' -# end class GuaranteePaymentType - - -class AcceptedPaymentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType.subclass: - return AcceptedPaymentsType.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def has__content(self): - if ( - self.AcceptedPayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayment is not None: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment = obj_ - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType - - -class AcceptedPaymentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) - self.GuaranteeTypeCode_nsprefix_ = None - self.GuaranteeID = _cast(None, GuaranteeID) - self.GuaranteeID_nsprefix_ = None - self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) - self.PaymentTransactionTypeCode_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Voucher = Voucher - self.Voucher_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType.subclass: - return AcceptedPaymentType.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Voucher(self): - return self.Voucher - def set_Voucher(self, Voucher): - self.Voucher = Voucher - def get_GuaranteeTypeCode(self): - return self.GuaranteeTypeCode - def set_GuaranteeTypeCode(self, GuaranteeTypeCode): - self.GuaranteeTypeCode = GuaranteeTypeCode - def get_GuaranteeID(self): - return self.GuaranteeID - def set_GuaranteeID(self, GuaranteeID): - self.GuaranteeID = GuaranteeID - def get_PaymentTransactionTypeCode(self): - return self.PaymentTransactionTypeCode - def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): - self.PaymentTransactionTypeCode = PaymentTransactionTypeCode - def has__content(self): - if ( - self.PaymentCard is not None or - self.BankAcct is not None or - self.Voucher is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType'): - if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) - if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) - if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Voucher is not None: - namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' - self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('GuaranteeTypeCode', node) - if value is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - self.GuaranteeTypeCode = value - value = find_attr_value_('GuaranteeID', node) - if value is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - self.GuaranteeID = value - value = find_attr_value_('PaymentTransactionTypeCode', node) - if value is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - self.PaymentTransactionTypeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType39.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' - elif nodeName_ == 'BankAcct': - obj_ = BankAcctType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Voucher': - obj_ = VoucherType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Voucher = obj_ - obj_.original_tagname_ = 'Voucher' -# end class AcceptedPaymentType - - -class PaymentCardType39(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType39) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType39.subclass: - return PaymentCardType39.subclass(*args_, **kwargs_) - else: - return PaymentCardType39(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType41(self, value): - # Validate type CardCodeType41, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType41_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType41_patterns_, )) - validate_CardCodeType41_patterns_ = [['^([A-Z]{1,2})$']] - def validate_ExpireDateType42(self, value): - # Validate type ExpireDateType42, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType42_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType42_patterns_, )) - validate_ExpireDateType42_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType39', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType39') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType39': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType39') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType39', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType39'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType39', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType41(self.CardCode) # validate type CardCodeType41 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType42(self.ExpireDate) # validate type ExpireDateType42 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType40.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType39 - - -class CardNumberType40(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.Token = _cast(None, Token) - self.Token_nsprefix_ = None - self.TokenProviderID = _cast(None, TokenProviderID) - self.TokenProviderID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType40) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType40.subclass: - return CardNumberType40.subclass(*args_, **kwargs_) - else: - return CardNumberType40(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def get_Token(self): - return self.Token - def set_Token(self, Token): - self.Token = Token - def get_TokenProviderID(self): - return self.TokenProviderID - def set_TokenProviderID(self, TokenProviderID): - self.TokenProviderID = TokenProviderID - def validate_MaskType(self, value): - # Validate type MaskType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType_patterns_, )) - validate_MaskType_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_TokenType(self, value): - # Validate type TokenType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_TokenType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType_patterns_, )) - validate_TokenType_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType40', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType40') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType40': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType40') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType40', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType40'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - if self.Token is not None and 'Token' not in already_processed: - already_processed.add('Token') - outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) - if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType40', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType(self.Mask) # validate type MaskType - value = find_attr_value_('Token', node) - if value is not None and 'Token' not in already_processed: - already_processed.add('Token') - self.Token = value - self.validate_TokenType(self.Token) # validate type TokenType - value = find_attr_value_('TokenProviderID', node) - if value is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - self.TokenProviderID = value - self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardNumberType40 - - -class BankAcctType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.validate_StringLength1to64(self.BankAcctName) - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType.subclass: - return BankAcctType.subclass(*args_, **kwargs_) - else: - return BankAcctType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'BankAcctName') - value_ = self.gds_validate_string(value_, node, 'BankAcctName') - self.BankAcctName = value_ - self.BankAcctName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.BankAcctName) - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' -# end class BankAcctType - - -class BankAcctNumberType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.PlainText = PlainText - self.validate_NumericStringLength1to19(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType.subclass: - return BankAcctNumberType.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def validate_MaskType43(self, value): - # Validate type MaskType43, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType43_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType43_patterns_, )) - validate_MaskType43_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType43(self.Mask) # validate type MaskType43 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type NumericStringLength1to19 - self.validate_NumericStringLength1to19(self.PlainText) -# end class BankAcctNumberType - - -class VoucherType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ElectronicIndicator = _cast(bool, ElectronicIndicator) - self.ElectronicIndicator_nsprefix_ = None - self.Identifier = _cast(None, Identifier) - self.Identifier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VoucherType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VoucherType.subclass: - return VoucherType.subclass(*args_, **kwargs_) - else: - return VoucherType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ElectronicIndicator(self): - return self.ElectronicIndicator - def set_ElectronicIndicator(self, ElectronicIndicator): - self.ElectronicIndicator = ElectronicIndicator - def get_Identifier(self): - return self.Identifier - def set_Identifier(self, Identifier): - self.Identifier = Identifier - def validate_ElectronicIndicatorType(self, value): - # Validate type ElectronicIndicatorType, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_ElectronicIndicatorType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType_patterns_, )) - validate_ElectronicIndicatorType_patterns_ = [['^(1|true)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VoucherType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType'): - if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) - if self.Identifier is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ElectronicIndicator', node) - if value is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - if value in ('true', '1'): - self.ElectronicIndicator = True - elif value in ('false', '0'): - self.ElectronicIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_ElectronicIndicatorType(self.ElectronicIndicator) # validate type ElectronicIndicatorType - value = find_attr_value_('Identifier', node) - if value is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - self.Identifier = value - self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class VoucherType - - -class AmountPercentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType.subclass: - return AmountPercentType.subclass(*args_, **kwargs_) - else: - return AmountPercentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType - - -class CancelPenaltiesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltiesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltiesType.subclass: - return CancelPenaltiesType.subclass(*args_, **kwargs_) - else: - return CancelPenaltiesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPenaltiesType - - -class CancelPenaltyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType.subclass: - return CancelPenaltyType.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType - - -class PenaltyDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType.subclass: - return PenaltyDescriptionType.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class PenaltyDescriptionType - - -class HotelReservationIDsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservationID is None: - self.HotelReservationID = [] - else: - self.HotelReservationID = HotelReservationID - self.HotelReservationID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDsType.subclass: - return HotelReservationIDsType.subclass(*args_, **kwargs_) - else: - return HotelReservationIDsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservationID(self): - return self.HotelReservationID - def set_HotelReservationID(self, HotelReservationID): - self.HotelReservationID = HotelReservationID - def add_HotelReservationID(self, value): - self.HotelReservationID.append(value) - def insert_HotelReservationID_at(self, index, value): - self.HotelReservationID.insert(index, value) - def replace_HotelReservationID_at(self, index, value): - self.HotelReservationID[index] = value - def has__content(self): - if ( - self.HotelReservationID - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservationID_ in self.HotelReservationID: - namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' - HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservationID': - obj_ = HotelReservationIDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationID.append(obj_) - obj_.original_tagname_ = 'HotelReservationID' -# end class HotelReservationIDsType - - -class HotelReservationIDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResID_Type = _cast(int, ResID_Type) - self.ResID_Type_nsprefix_ = None - self.ResID_Value = _cast(None, ResID_Value) - self.ResID_Value_nsprefix_ = None - self.ResID_Source = _cast(None, ResID_Source) - self.ResID_Source_nsprefix_ = None - self.ResID_SourceContext = _cast(None, ResID_SourceContext) - self.ResID_SourceContext_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDType.subclass: - return HotelReservationIDType.subclass(*args_, **kwargs_) - else: - return HotelReservationIDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResID_Type(self): - return self.ResID_Type - def set_ResID_Type(self, ResID_Type): - self.ResID_Type = ResID_Type - def get_ResID_Value(self): - return self.ResID_Value - def set_ResID_Value(self, ResID_Value): - self.ResID_Value = ResID_Value - def get_ResID_Source(self): - return self.ResID_Source - def set_ResID_Source(self, ResID_Source): - self.ResID_Source = ResID_Source - def get_ResID_SourceContext(self): - return self.ResID_SourceContext - def set_ResID_SourceContext(self, ResID_SourceContext): - self.ResID_SourceContext = ResID_SourceContext - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType'): - if self.ResID_Type is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) - if self.ResID_Value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) - if self.ResID_Source is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) - if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ResID_Type', node) - if value is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') - if self.ResID_Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 - value = find_attr_value_('ResID_Value', node) - if value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - self.ResID_Value = value - self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 - value = find_attr_value_('ResID_Source', node) - if value is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - self.ResID_Source = value - self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 - value = find_attr_value_('ResID_SourceContext', node) - if value is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - self.ResID_SourceContext = value - self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelReservationIDType - - -class ProfileType46(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileType = _cast(None, ProfileType) - self.ProfileType_nsprefix_ = None - self.CompanyInfo = CompanyInfo - self.CompanyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType46) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType46.subclass: - return ProfileType46.subclass(*args_, **kwargs_) - else: - return ProfileType46(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyInfo(self): - return self.CompanyInfo - def set_CompanyInfo(self, CompanyInfo): - self.CompanyInfo = CompanyInfo - def get_ProfileType(self): - return self.ProfileType - def set_ProfileType(self, ProfileType): - self.ProfileType = ProfileType - def validate_ProfileTypeType(self, value): - # Validate type ProfileTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['4'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CompanyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType46', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType46') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType46': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType46') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType46', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType46'): - if self.ProfileType is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType46', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyInfo is not None: - namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' - self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ProfileType', node) - if value is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - self.ProfileType = value - self.validate_ProfileTypeType(self.ProfileType) # validate type ProfileTypeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyInfo': - obj_ = CompanyInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyInfo = obj_ - obj_.original_tagname_ = 'CompanyInfo' -# end class ProfileType46 - - -class CompanyInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - self.AddressInfo = AddressInfo - self.AddressInfo_nsprefix_ = None - self.TelephoneInfo = TelephoneInfo - self.TelephoneInfo_nsprefix_ = None - self.Email = Email - self.validate_def_nonempty_string(self.Email) - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyInfoType.subclass: - return CompanyInfoType.subclass(*args_, **kwargs_) - else: - return CompanyInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_AddressInfo(self): - return self.AddressInfo - def set_AddressInfo(self, AddressInfo): - self.AddressInfo = AddressInfo - def get_TelephoneInfo(self): - return self.TelephoneInfo - def set_TelephoneInfo(self, TelephoneInfo): - self.TelephoneInfo = TelephoneInfo - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.CompanyName is not None or - self.AddressInfo is not None or - self.TelephoneInfo is not None or - self.Email is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - if self.AddressInfo is not None: - namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' - self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) - if self.TelephoneInfo is not None: - namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' - self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyName': - obj_ = CompanyNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' - elif nodeName_ == 'AddressInfo': - obj_ = AddressInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AddressInfo = obj_ - obj_.original_tagname_ = 'AddressInfo' - elif nodeName_ == 'TelephoneInfo': - obj_ = TelephoneInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TelephoneInfo = obj_ - obj_.original_tagname_ = 'TelephoneInfo' - elif nodeName_ == 'Email': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Email') - value_ = self.gds_validate_string(value_, node, 'Email') - self.Email = value_ - self.Email_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Email) -# end class CompanyInfoType - - -class CompanyNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType.subclass: - return CompanyNameType.subclass(*args_, **kwargs_) - else: - return CompanyNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType - - -class AddressInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressInfoType.subclass: - return AddressInfoType.subclass(*args_, **kwargs_) - else: - return AddressInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType47.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressInfoType - - -class CountryNameType47(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType47) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType47.subclass: - return CountryNameType47.subclass(*args_, **kwargs_) - else: - return CountryNameType47(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType48(self, value): - # Validate type CodeType48, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType48_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType48_patterns_, )) - validate_CodeType48_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType47', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType47') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType47': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType47') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType47', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType47'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType47', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType48(self.Code) # validate type CodeType48 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType47 - - -class TelephoneInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneInfoType.subclass: - return TelephoneInfoType.subclass(*args_, **kwargs_) - else: - return TelephoneInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType49(self, value): - # Validate type PhoneTechTypeType49, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType49_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType49_patterns_, )) - validate_PhoneTechTypeType49_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType50(self, value): - # Validate type PhoneNumberType50, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType50_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType50_patterns_, )) - validate_PhoneNumberType50_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType49(self.PhoneTechType) # validate type PhoneTechTypeType49 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType50(self.PhoneNumber) # validate type PhoneNumberType50 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneInfoType - - -class BasicPropertyInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BasicPropertyInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BasicPropertyInfoType.subclass: - return BasicPropertyInfoType.subclass(*args_, **kwargs_) - else: - return BasicPropertyInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BasicPropertyInfoType - - -class ErrorType52(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType52) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType52.subclass: - return ErrorType52.subclass(*args_, **kwargs_) - else: - return ErrorType52(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType53(self, value): - # Validate type TypeType53, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType53' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType52', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType52') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType52': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType52') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType52'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType52', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType53(self.Type) # validate type TypeType53 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType52 - - -class WarningType55(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType55) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType55.subclass: - return WarningType55.subclass(*args_, **kwargs_) - else: - return WarningType55(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType55', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType55') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType55': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType55') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType55'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType55', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType55 - - -class HotelReservationType57(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, UniqueID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType57) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType57.subclass: - return HotelReservationType57.subclass(*args_, **kwargs_) - else: - return HotelReservationType57(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def has__content(self): - if ( - self.UniqueID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType57', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType57') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType57': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType57') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType57', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType57'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType57', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType58.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' -# end class HotelReservationType57 - - -class UniqueIDType58(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType58) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType58.subclass: - return UniqueIDType58.subclass(*args_, **kwargs_) - else: - return UniqueIDType58(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType59(self, value): - # Validate type TypeType59, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType59' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType58', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType58') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType58': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType58') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType58', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType58'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType58', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType59(self.Type) # validate type TypeType59 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType58 - - -class ReadRequestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReadRequest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelReadRequest = HotelReadRequest - self.HotelReadRequest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ReadRequestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ReadRequestsType.subclass: - return ReadRequestsType.subclass(*args_, **kwargs_) - else: - return ReadRequestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReadRequest(self): - return self.HotelReadRequest - def set_HotelReadRequest(self, HotelReadRequest): - self.HotelReadRequest = HotelReadRequest - def has__content(self): - if ( - self.HotelReadRequest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReadRequestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReadRequestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ReadRequestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReadRequestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReadRequestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReadRequestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReadRequestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelReadRequest is not None: - namespaceprefix_ = self.HotelReadRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReadRequest_nsprefix_) else '' - self.HotelReadRequest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReadRequest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReadRequest': - obj_ = HotelReadRequestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReadRequest = obj_ - obj_.original_tagname_ = 'HotelReadRequest' -# end class ReadRequestsType - - -class HotelReadRequestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, SelectionCriteria=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.SelectionCriteria = SelectionCriteria - self.SelectionCriteria_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReadRequestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReadRequestType.subclass: - return HotelReadRequestType.subclass(*args_, **kwargs_) - else: - return HotelReadRequestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_SelectionCriteria(self): - return self.SelectionCriteria - def set_SelectionCriteria(self, SelectionCriteria): - self.SelectionCriteria = SelectionCriteria - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.SelectionCriteria is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReadRequestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReadRequestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReadRequestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReadRequestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReadRequestType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReadRequestType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReadRequestType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.SelectionCriteria is not None: - namespaceprefix_ = self.SelectionCriteria_nsprefix_ + ':' if (UseCapturedNS_ and self.SelectionCriteria_nsprefix_) else '' - self.SelectionCriteria.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SelectionCriteria', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'SelectionCriteria': - obj_ = SelectionCriteriaType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SelectionCriteria = obj_ - obj_.original_tagname_ = 'SelectionCriteria' -# end class HotelReadRequestType - - -class SelectionCriteriaType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SelectionCriteriaType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SelectionCriteriaType.subclass: - return SelectionCriteriaType.subclass(*args_, **kwargs_) - else: - return SelectionCriteriaType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SelectionCriteriaType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SelectionCriteriaType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SelectionCriteriaType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SelectionCriteriaType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SelectionCriteriaType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SelectionCriteriaType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SelectionCriteriaType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class SelectionCriteriaType - - -class ErrorType61(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType61) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType61.subclass: - return ErrorType61.subclass(*args_, **kwargs_) - else: - return ErrorType61(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType62(self, value): - # Validate type TypeType62, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType62' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType61', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType61') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType61': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType61') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType61'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType61', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType62(self.Type) # validate type TypeType62 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType61 - - -class WarningType64(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType64) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType64.subclass: - return WarningType64.subclass(*args_, **kwargs_) - else: - return WarningType64(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType64', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType64') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType64': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType64') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType64'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType64', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType64 - - -class ReservationsListType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservation is None: - self.HotelReservation = [] - else: - self.HotelReservation = HotelReservation - self.HotelReservation_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ReservationsListType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ReservationsListType.subclass: - return ReservationsListType.subclass(*args_, **kwargs_) - else: - return ReservationsListType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservation(self): - return self.HotelReservation - def set_HotelReservation(self, HotelReservation): - self.HotelReservation = HotelReservation - def add_HotelReservation(self, value): - self.HotelReservation.append(value) - def insert_HotelReservation_at(self, index, value): - self.HotelReservation.insert(index, value) - def replace_HotelReservation_at(self, index, value): - self.HotelReservation[index] = value - def has__content(self): - if ( - self.HotelReservation - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReservationsListType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReservationsListType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ReservationsListType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReservationsListType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReservationsListType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReservationsListType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReservationsListType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservation_ in self.HotelReservation: - namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' - HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservation': - obj_ = HotelReservationType65.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservation.append(obj_) - obj_.original_tagname_ = 'HotelReservation' -# end class ReservationsListType - - -class HotelReservationType65(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CreateDateTime = _cast(None, CreateDateTime) - self.CreateDateTime_nsprefix_ = None - self.LastModifyDateTime = _cast(None, LastModifyDateTime) - self.LastModifyDateTime_nsprefix_ = None - self.ResStatus = _cast(None, ResStatus) - self.ResStatus_nsprefix_ = None - self.RoomStayReservation = _cast(bool, RoomStayReservation) - self.RoomStayReservation_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RoomStays = RoomStays - self.RoomStays_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - self.ResGuests = ResGuests - self.ResGuests_nsprefix_ = None - self.ResGlobalInfo = ResGlobalInfo - self.ResGlobalInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType65) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType65.subclass: - return HotelReservationType65.subclass(*args_, **kwargs_) - else: - return HotelReservationType65(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RoomStays(self): - return self.RoomStays - def set_RoomStays(self, RoomStays): - self.RoomStays = RoomStays - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_ResGuests(self): - return self.ResGuests - def set_ResGuests(self, ResGuests): - self.ResGuests = ResGuests - def get_ResGlobalInfo(self): - return self.ResGlobalInfo - def set_ResGlobalInfo(self, ResGlobalInfo): - self.ResGlobalInfo = ResGlobalInfo - def get_CreateDateTime(self): - return self.CreateDateTime - def set_CreateDateTime(self, CreateDateTime): - self.CreateDateTime = CreateDateTime - def get_LastModifyDateTime(self): - return self.LastModifyDateTime - def set_LastModifyDateTime(self, LastModifyDateTime): - self.LastModifyDateTime = LastModifyDateTime - def get_ResStatus(self): - return self.ResStatus - def set_ResStatus(self, ResStatus): - self.ResStatus = ResStatus - def get_RoomStayReservation(self): - return self.RoomStayReservation - def set_RoomStayReservation(self, RoomStayReservation): - self.RoomStayReservation = RoomStayReservation - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def validate_ResStatusType183(self, value): - # Validate type ResStatusType183, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType183' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.UniqueID is not None or - self.RoomStays is not None or - self.Services is not None or - self.ResGuests is not None or - self.ResGlobalInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType65', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType65') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType65': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType65') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType65', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType65'): - if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) - if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) - if self.ResStatus is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) - if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType65', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RoomStays is not None: - namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' - self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - if self.ResGuests is not None: - namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' - self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) - if self.ResGlobalInfo is not None: - namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' - self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CreateDateTime', node) - if value is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - try: - self.CreateDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) - self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime - value = find_attr_value_('LastModifyDateTime', node) - if value is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - try: - self.LastModifyDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) - self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime - value = find_attr_value_('ResStatus', node) - if value is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - self.ResStatus = value - self.validate_ResStatusType183(self.ResStatus) # validate type ResStatusType183 - value = find_attr_value_('RoomStayReservation', node) - if value is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - if value in ('true', '1'): - self.RoomStayReservation = True - elif value in ('false', '0'): - self.RoomStayReservation = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RoomStayReservation) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType66.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RoomStays': - obj_ = RoomStaysType68.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStays = obj_ - obj_.original_tagname_ = 'RoomStays' - elif nodeName_ == 'Services': - obj_ = ServicesType102.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' - elif nodeName_ == 'ResGuests': - obj_ = ResGuestsType120.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuests = obj_ - obj_.original_tagname_ = 'ResGuests' - elif nodeName_ == 'ResGlobalInfo': - obj_ = ResGlobalInfoType138.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGlobalInfo = obj_ - obj_.original_tagname_ = 'ResGlobalInfo' -# end class HotelReservationType65 - - -class UniqueIDType66(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType66) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType66.subclass: - return UniqueIDType66.subclass(*args_, **kwargs_) - else: - return UniqueIDType66(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType67(self, value): - # Validate type TypeType67, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType67' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType66', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType66') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType66': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType66') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType66', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType66'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType66', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType67(self.Type) # validate type TypeType67 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType66 - - -class RoomTypeType71(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypeType71) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypeType71.subclass: - return RoomTypeType71.subclass(*args_, **kwargs_) - else: - return RoomTypeType71(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_RoomTypeType72(self, value): - # Validate type RoomTypeType72, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType72' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType71', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType71') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypeType71': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType71') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType71', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType71'): - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType71', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType72(self.RoomType) # validate type RoomTypeType72 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RoomTypeType71 - - -class RatePlansType73(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType73) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType73.subclass: - return RatePlansType73.subclass(*args_, **kwargs_) - else: - return RatePlansType73(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType73', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType73') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType73': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType73') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType73', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType73'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType73', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType74.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType73 - - -class RatePlanType74(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.Commission = Commission - self.Commission_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType74) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType74.subclass: - return RatePlanType74.subclass(*args_, **kwargs_) - else: - return RatePlanType74(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Commission(self): - return self.Commission - def set_Commission(self, Commission): - self.Commission = Commission - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Commission is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType74', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType74') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType74': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType74') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType74', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType74'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType74', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Commission is not None: - namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' - self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Commission': - obj_ = CommissionType75.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Commission = obj_ - obj_.original_tagname_ = 'Commission' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType77.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RatePlanType74 - - -class MealsIncludedType77(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType77) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType77.subclass: - return MealsIncludedType77.subclass(*args_, **kwargs_) - else: - return MealsIncludedType77(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def validate_MealPlanIndicatorType78(self, value): - # Validate type MealPlanIndicatorType78, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType78' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanCodesType79(self, value): - # Validate type MealPlanCodesType79, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType79' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType77', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType77') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType77': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType77') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType77', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType77'): - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType77', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType78(self.MealPlanIndicator) # validate type MealPlanIndicatorType78 - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType79(self.MealPlanCodes) # validate type MealPlanCodesType79 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType77 - - -class RateType83(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EffectiveDate = _cast(None, EffectiveDate) - self.EffectiveDate_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) - self.ExpireDateExclusiveInd_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - if Base is None: - self.Base = [] - else: - self.Base = Base - self.Base_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType83) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType83.subclass: - return RateType83.subclass(*args_, **kwargs_) - else: - return RateType83(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Base(self): - return self.Base - def set_Base(self, Base): - self.Base = Base - def add_Base(self, value): - self.Base.append(value) - def insert_Base_at(self, index, value): - self.Base.insert(index, value) - def replace_Base_at(self, index, value): - self.Base[index] = value - def get_EffectiveDate(self): - return self.EffectiveDate - def set_EffectiveDate(self, EffectiveDate): - self.EffectiveDate = EffectiveDate - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def get_ExpireDateExclusiveInd(self): - return self.ExpireDateExclusiveInd - def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): - self.ExpireDateExclusiveInd = ExpireDateExclusiveInd - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType85(self, value): - # Validate type RateTimeUnitType85, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType85' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Base - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType83', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType83') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType83': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType83') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType83', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType83'): - if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) - if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType83', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Base_ in self.Base: - namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' - Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EffectiveDate', node) - if value is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - try: - self.EffectiveDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) - self.validate_def_date(self.EffectiveDate) # validate type def_date - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - try: - self.ExpireDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (ExpireDate): %s' % exp) - self.validate_def_date(self.ExpireDate) # validate type def_date - value = find_attr_value_('ExpireDateExclusiveInd', node) - if value is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - if value in ('true', '1'): - self.ExpireDateExclusiveInd = True - elif value in ('false', '0'): - self.ExpireDateExclusiveInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType85(self.RateTimeUnit) # validate type RateTimeUnitType85 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Base': - obj_ = BaseType84.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Base.append(obj_) - obj_.original_tagname_ = 'Base' -# end class RateType83 - - -class GuestCountType87(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType87) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType87.subclass: - return GuestCountType87.subclass(*args_, **kwargs_) - else: - return GuestCountType87(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType87', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType87') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType87': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType87') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType87', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType87'): - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType87', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType87 - - -class TimeSpanType88(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.StartDateWindow = StartDateWindow - self.StartDateWindow_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType88) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType88.subclass: - return TimeSpanType88.subclass(*args_, **kwargs_) - else: - return TimeSpanType88(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StartDateWindow(self): - return self.StartDateWindow - def set_StartDateWindow(self, StartDateWindow): - self.StartDateWindow = StartDateWindow - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_DurationType90(self, value): - # Validate type DurationType90, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType90_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType90_patterns_, )) - validate_DurationType90_patterns_ = [['^(P[0-9]+N)$']] - def has__content(self): - if ( - self.StartDateWindow is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType88', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType88') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType88': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType88') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType88', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType88'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType88', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StartDateWindow is not None: - namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' - self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType90(self.Duration) # validate type DurationType90 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StartDateWindow': - obj_ = StartDateWindowType89.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StartDateWindow = obj_ - obj_.original_tagname_ = 'StartDateWindow' -# end class TimeSpanType88 - - -class PaymentCardType94(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType94) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType94.subclass: - return PaymentCardType94.subclass(*args_, **kwargs_) - else: - return PaymentCardType94(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType96(self, value): - # Validate type CardCodeType96, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType96_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType96_patterns_, )) - validate_CardCodeType96_patterns_ = [['^([A-Z][A-Z]?)$']] - def validate_ExpireDateType97(self, value): - # Validate type ExpireDateType97, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType97_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType97_patterns_, )) - validate_ExpireDateType97_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType94', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType94') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType94': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType94') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType94', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType94'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType94', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType96(self.CardCode) # validate type CardCodeType96 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType97(self.ExpireDate) # validate type ExpireDateType97 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType95.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType94 - - -class CardNumberType95(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EncryptedValue = _cast(None, EncryptedValue) - self.EncryptedValue_nsprefix_ = None - self.EncryptionMethod = _cast(None, EncryptionMethod) - self.EncryptionMethod_nsprefix_ = None - self.PlainText = PlainText - self.validate_def_nonempty_string(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType95) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType95.subclass: - return CardNumberType95.subclass(*args_, **kwargs_) - else: - return CardNumberType95(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_EncryptedValue(self): - return self.EncryptedValue - def set_EncryptedValue(self, EncryptedValue): - self.EncryptedValue = EncryptedValue - def get_EncryptionMethod(self): - return self.EncryptionMethod - def set_EncryptionMethod(self, EncryptionMethod): - self.EncryptionMethod = EncryptionMethod - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType95', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType95') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType95': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType95') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType95', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType95'): - if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) - if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType95', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EncryptedValue', node) - if value is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - self.EncryptedValue = value - self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string - value = find_attr_value_('EncryptionMethod', node) - if value is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - self.EncryptionMethod = value - self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.PlainText) -# end class CardNumberType95 - - -class ServiceRPHType100(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RPH = _cast(None, RPH) - self.RPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHType100) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHType100.subclass: - return ServiceRPHType100.subclass(*args_, **kwargs_) - else: - return ServiceRPHType100(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RPH(self): - return self.RPH - def set_RPH(self, RPH): - self.RPH = RPH - def validate_RPHType101(self, value): - # Validate type RPHType101, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RPHType101_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType101_patterns_, )) - validate_RPHType101_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType100', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType100') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHType100': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType100') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType100', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType100'): - if self.RPH is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType100', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RPH', node) - if value is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - self.RPH = value - self.validate_RPHType101(self.RPH) # validate type RPHType101 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ServiceRPHType100 - - -class ServiceType103(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) - self.ServiceCategoryCode_nsprefix_ = None - self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) - self.ServiceInventoryCode_nsprefix_ = None - self.ServiceRPH = _cast(None, ServiceRPH) - self.ServiceRPH_nsprefix_ = None - self.ServicePricingType = _cast(None, ServicePricingType) - self.ServicePricingType_nsprefix_ = None - self.Inclusive = _cast(bool, Inclusive) - self.Inclusive_nsprefix_ = None - self.Quantity = _cast(int, Quantity) - self.Quantity_nsprefix_ = None - self.ServiceDetails = ServiceDetails - self.ServiceDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType103) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType103.subclass: - return ServiceType103.subclass(*args_, **kwargs_) - else: - return ServiceType103(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceDetails(self): - return self.ServiceDetails - def set_ServiceDetails(self, ServiceDetails): - self.ServiceDetails = ServiceDetails - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ServiceCategoryCode(self): - return self.ServiceCategoryCode - def set_ServiceCategoryCode(self, ServiceCategoryCode): - self.ServiceCategoryCode = ServiceCategoryCode - def get_ServiceInventoryCode(self): - return self.ServiceInventoryCode - def set_ServiceInventoryCode(self, ServiceInventoryCode): - self.ServiceInventoryCode = ServiceInventoryCode - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def get_ServicePricingType(self): - return self.ServicePricingType - def set_ServicePricingType(self, ServicePricingType): - self.ServicePricingType = ServicePricingType - def get_Inclusive(self): - return self.Inclusive - def set_Inclusive(self, Inclusive): - self.Inclusive = Inclusive - def get_Quantity(self): - return self.Quantity - def set_Quantity(self, Quantity): - self.Quantity = Quantity - def validate_def_one_to_thirty_two_chars_string(self, value): - # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType116(self, value): - # Validate type TypeType116, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType116' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceCategoryCodeType117(self, value): - # Validate type ServiceCategoryCodeType117, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType117' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceRPHType118(self, value): - # Validate type ServiceRPHType118, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ServiceRPHType118_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType118_patterns_, )) - validate_ServiceRPHType118_patterns_ = [['^([0-9]{1,8})$']] - def validate_ServicePricingTypeType119(self, value): - # Validate type ServicePricingTypeType119, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType119' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ServiceDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType103', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType103') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType103': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType103') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType103', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType103'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) - if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) - if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) - if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) - if self.Inclusive is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) - if self.Quantity is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType103', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ServiceDetails is not None: - namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' - self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType116(self.Type) # validate type TypeType116 - value = find_attr_value_('ServiceCategoryCode', node) - if value is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - self.ServiceCategoryCode = value - self.validate_ServiceCategoryCodeType117(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType117 - value = find_attr_value_('ServiceInventoryCode', node) - if value is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - self.ServiceInventoryCode = value - self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('ServiceRPH', node) - if value is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - self.ServiceRPH = value - self.validate_ServiceRPHType118(self.ServiceRPH) # validate type ServiceRPHType118 - value = find_attr_value_('ServicePricingType', node) - if value is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - self.ServicePricingType = value - self.validate_ServicePricingTypeType119(self.ServicePricingType) # validate type ServicePricingTypeType119 - value = find_attr_value_('Inclusive', node) - if value is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - if value in ('true', '1'): - self.Inclusive = True - elif value in ('false', '0'): - self.Inclusive = False - else: - raise_parse_error(node, 'Bad boolean attribute') - value = find_attr_value_('Quantity', node) - if value is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - self.Quantity = self.gds_parse_integer(value, node, 'Quantity') - if self.Quantity <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceDetails': - obj_ = ServiceDetailsType104.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDetails = obj_ - obj_.original_tagname_ = 'ServiceDetails' -# end class ServiceType103 - - -class GuestCountType106(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType106) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType106.subclass: - return GuestCountType106.subclass(*args_, **kwargs_) - else: - return GuestCountType106(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType106', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType106') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType106': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType106') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType106', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType106'): - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType106', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType106 - - -class TimeSpanType107(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType107) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType107.subclass: - return TimeSpanType107.subclass(*args_, **kwargs_) - else: - return TimeSpanType107(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType107', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType107') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType107': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType107') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType107', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType107'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType107', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (End): %s' % exp) - self.validate_def_datetime(self.End) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TimeSpanType107 - - -class CommentsType108(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType108) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType108.subclass: - return CommentsType108.subclass(*args_, **kwargs_) - else: - return CommentsType108(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def has__content(self): - if ( - self.Comment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType108', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType108') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType108': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType108') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType108', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType108'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType108', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comment is not None: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType109.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment = obj_ - obj_.original_tagname_ = 'Comment' -# end class CommentsType108 - - -class CommentType109(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType109) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType109.subclass: - return CommentType109.subclass(*args_, **kwargs_) - else: - return CommentType109(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType109', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType109') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType109': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType109') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType109', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType109'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType109', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType110.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class CommentType109 - - -class TextType110(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType110) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType110.subclass: - return TextType110.subclass(*args_, **kwargs_) - else: - return TextType110(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType111(self, value): - # Validate type TextFormatType111, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType111' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType110', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType110') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType110': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType110') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType110'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType110', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType111(self.TextFormat) # validate type TextFormatType111 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType110 - - -class TextType114(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType114) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType114.subclass: - return TextType114.subclass(*args_, **kwargs_) - else: - return TextType114(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType115(self, value): - # Validate type TextFormatType115, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType115' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType114', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType114') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType114': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType114') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType114'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType114', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType115(self.TextFormat) # validate type TextFormatType115 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType114 - - -class ProfileType124(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Customer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Customer = Customer - self.Customer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType124) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType124.subclass: - return ProfileType124.subclass(*args_, **kwargs_) - else: - return ProfileType124(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Customer(self): - return self.Customer - def set_Customer(self, Customer): - self.Customer = Customer - def has__content(self): - if ( - self.Customer is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType124', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType124') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType124': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType124') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType124', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType124'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType124', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Customer is not None: - namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' - self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Customer': - obj_ = CustomerType125.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Customer = obj_ - obj_.original_tagname_ = 'Customer' -# end class ProfileType124 - - -class CustomerType125(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Gender = _cast(None, Gender) - self.Gender_nsprefix_ = None - self.BirthDate = _cast(None, BirthDate) - self.BirthDate_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - if Telephone is None: - self.Telephone = [] - else: - self.Telephone = Telephone - self.Telephone_nsprefix_ = None - self.Email = Email - self.Email_nsprefix_ = None - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerType125) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerType125.subclass: - return CustomerType125.subclass(*args_, **kwargs_) - else: - return CustomerType125(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_Telephone(self): - return self.Telephone - def set_Telephone(self, Telephone): - self.Telephone = Telephone - def add_Telephone(self, value): - self.Telephone.append(value) - def insert_Telephone_at(self, index, value): - self.Telephone.insert(index, value) - def replace_Telephone_at(self, index, value): - self.Telephone[index] = value - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def get_Gender(self): - return self.Gender - def set_Gender(self, Gender): - self.Gender = Gender - def get_BirthDate(self): - return self.BirthDate - def set_BirthDate(self, BirthDate): - self.BirthDate = BirthDate - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_GenderType136(self, value): - # Validate type GenderType136, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_GenderType136_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType136_patterns_, )) - validate_GenderType136_patterns_ = [['^((Unknown|Male|Female))$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_LanguageType137(self, value): - # Validate type LanguageType137, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType137_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType137_patterns_, )) - validate_LanguageType137_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.PersonName is not None or - self.Telephone or - self.Email is not None or - self.Address is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType125', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType125') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerType125': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType125') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType125', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType125'): - if self.Gender is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) - if self.BirthDate is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType125', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - for Telephone_ in self.Telephone: - namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' - Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - if self.Address is not None: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Gender', node) - if value is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - self.Gender = value - self.validate_GenderType136(self.Gender) # validate type GenderType136 - value = find_attr_value_('BirthDate', node) - if value is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - try: - self.BirthDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (BirthDate): %s' % exp) - self.validate_def_date(self.BirthDate) # validate type def_date - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType137(self.Language) # validate type LanguageType137 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType126.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'Telephone': - obj_ = TelephoneType127.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Telephone.append(obj_) - obj_.original_tagname_ = 'Telephone' - elif nodeName_ == 'Email': - obj_ = EmailType130.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email = obj_ - obj_.original_tagname_ = 'Email' - elif nodeName_ == 'Address': - obj_ = AddressType132.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address = obj_ - obj_.original_tagname_ = 'Address' -# end class CustomerType125 - - -class PersonNameType126(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NamePrefix = NamePrefix - self.validate_StringLength1to16(self.NamePrefix) - self.NamePrefix_nsprefix_ = None - self.GivenName = GivenName - self.validate_StringLength1to64(self.GivenName) - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.validate_StringLength1to64(self.Surname) - self.Surname_nsprefix_ = None - self.NameTitle = NameTitle - self.validate_StringLength1to16(self.NameTitle) - self.NameTitle_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType126) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType126.subclass: - return PersonNameType126.subclass(*args_, **kwargs_) - else: - return PersonNameType126(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NamePrefix(self): - return self.NamePrefix - def set_NamePrefix(self, NamePrefix): - self.NamePrefix = NamePrefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def get_NameTitle(self): - return self.NameTitle - def set_NameTitle(self, NameTitle): - self.NameTitle = NameTitle - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.NamePrefix is not None or - self.GivenName is not None or - self.Surname is not None or - self.NameTitle is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType126', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType126') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType126': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType126') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType126', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType126'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType126', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.NamePrefix is not None: - namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) - if self.NameTitle is not None: - namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'NamePrefix': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NamePrefix') - value_ = self.gds_validate_string(value_, node, 'NamePrefix') - self.NamePrefix = value_ - self.NamePrefix_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NamePrefix) - elif nodeName_ == 'GivenName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'GivenName') - value_ = self.gds_validate_string(value_, node, 'GivenName') - self.GivenName = value_ - self.GivenName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.GivenName) - elif nodeName_ == 'Surname': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Surname') - value_ = self.gds_validate_string(value_, node, 'Surname') - self.Surname = value_ - self.Surname_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.Surname) - elif nodeName_ == 'NameTitle': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NameTitle') - value_ = self.gds_validate_string(value_, node, 'NameTitle') - self.NameTitle = value_ - self.NameTitle_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NameTitle) -# end class PersonNameType126 - - -class TelephoneType127(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneType127) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneType127.subclass: - return TelephoneType127.subclass(*args_, **kwargs_) - else: - return TelephoneType127(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType128(self, value): - # Validate type PhoneTechTypeType128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType128_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType128_patterns_, )) - validate_PhoneTechTypeType128_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType129(self, value): - # Validate type PhoneNumberType129, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType129_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType129_patterns_, )) - validate_PhoneNumberType129_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType127', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType127') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneType127': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType127') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType127', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType127'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType127', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType128(self.PhoneTechType) # validate type PhoneTechTypeType128 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType129(self.PhoneNumber) # validate type PhoneNumberType129 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneType127 - - -class EmailType130(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType130) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType130.subclass: - return EmailType130.subclass(*args_, **kwargs_) - else: - return EmailType130(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_email_string(self, value): - result = True - # Validate type def_email_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_email_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) - result = False - return result - validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] - def validate_RemarkType131(self, value): - # Validate type RemarkType131, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType131_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType131_patterns_, )) - validate_RemarkType131_patterns_ = [['^(newsletter:(no|yes))$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType130', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType130') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType130': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType130') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType130'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType130', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType131(self.Remark) # validate type RemarkType131 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType130 - - -class AddressType132(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType132) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType132.subclass: - return AddressType132.subclass(*args_, **kwargs_) - else: - return AddressType132(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_RemarkType135(self, value): - # Validate type RemarkType135, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType135_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType135_patterns_, )) - validate_RemarkType135_patterns_ = [['^(catalog:(no|yes))$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType132', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType132') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType132': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType132') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType132', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType132'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType132', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType135(self.Remark) # validate type RemarkType135 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType133.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType132 - - -class CountryNameType133(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType133) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType133.subclass: - return CountryNameType133.subclass(*args_, **kwargs_) - else: - return CountryNameType133(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType134(self, value): - # Validate type CodeType134, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType134_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType134_patterns_, )) - validate_CodeType134_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType133', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType133') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType133': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType133') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType133', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType133'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType133', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType134(self.Code) # validate type CodeType134 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType133 - - -class CommentsType139(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType139) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType139.subclass: - return CommentsType139.subclass(*args_, **kwargs_) - else: - return CommentsType139(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType139', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType139') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType139': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType139') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType139', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType139'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType139', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType140.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType139 - - -class CommentType140(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType140) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType140.subclass: - return CommentType140.subclass(*args_, **kwargs_) - else: - return CommentType140(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_NameType143(self, value): - # Validate type NameType143, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services', 'customer comment', 'additional info'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType143' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType140', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType140') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType140': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType140') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType140', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType140'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType140', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType143(self.Name) # validate type NameType143 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType141.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' - elif nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class CommentType140 - - -class ListItemType141(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType141) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType141.subclass: - return ListItemType141.subclass(*args_, **kwargs_) - else: - return ListItemType141(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType142(self, value): - # Validate type LanguageType142, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType142_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType142_patterns_, )) - validate_LanguageType142_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType141', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType141') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType141': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType141') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType141'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType141', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType142(self.Language) # validate type LanguageType142 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType141 - - -class SpecialRequestType145(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RequestCode = _cast(None, RequestCode) - self.RequestCode_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestType145) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestType145.subclass: - return SpecialRequestType145.subclass(*args_, **kwargs_) - else: - return SpecialRequestType145(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_RequestCode(self): - return self.RequestCode - def set_RequestCode(self, RequestCode): - self.RequestCode = RequestCode - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_CodeContextType148(self, value): - # Validate type CodeContextType148, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS', 'HOTEL'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType148' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType145', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType145') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestType145': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType145') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType145', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType145'): - if self.RequestCode is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType145', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RequestCode', node) - if value is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - self.RequestCode = value - self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType148(self.CodeContext) # validate type CodeContextType148 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType146.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class SpecialRequestType145 - - -class TextType146(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType146) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType146.subclass: - return TextType146.subclass(*args_, **kwargs_) - else: - return TextType146(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TextFormatType147(self, value): - # Validate type TextFormatType147, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType147' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType146', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType146') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType146': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType146') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType146'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType146', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType147(self.TextFormat) # validate type TextFormatType147 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType146 - - -class GuaranteePaymentType150(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.GuaranteeCode = _cast(None, GuaranteeCode) - self.GuaranteeCode_nsprefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType150) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType150.subclass: - return GuaranteePaymentType150.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType150(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_GuaranteeCode(self): - return self.GuaranteeCode - def set_GuaranteeCode(self, GuaranteeCode): - self.GuaranteeCode = GuaranteeCode - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType150', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType150') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType150': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType150') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType150', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType150'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType150', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - value = find_attr_value_('GuaranteeCode', node) - if value is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - self.GuaranteeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType151.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType164.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' -# end class GuaranteePaymentType150 - - -class AcceptedPaymentsType151(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType151) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType151.subclass: - return AcceptedPaymentsType151.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType151(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def has__content(self): - if ( - self.AcceptedPayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType151', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType151') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType151': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType151') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType151', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType151'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType151', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayment is not None: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType152.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment = obj_ - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType151 - - -class AcceptedPaymentType152(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) - self.GuaranteeTypeCode_nsprefix_ = None - self.GuaranteeID = _cast(None, GuaranteeID) - self.GuaranteeID_nsprefix_ = None - self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) - self.PaymentTransactionTypeCode_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Voucher = Voucher - self.Voucher_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType152) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType152.subclass: - return AcceptedPaymentType152.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType152(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Voucher(self): - return self.Voucher - def set_Voucher(self, Voucher): - self.Voucher = Voucher - def get_GuaranteeTypeCode(self): - return self.GuaranteeTypeCode - def set_GuaranteeTypeCode(self, GuaranteeTypeCode): - self.GuaranteeTypeCode = GuaranteeTypeCode - def get_GuaranteeID(self): - return self.GuaranteeID - def set_GuaranteeID(self, GuaranteeID): - self.GuaranteeID = GuaranteeID - def get_PaymentTransactionTypeCode(self): - return self.PaymentTransactionTypeCode - def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): - self.PaymentTransactionTypeCode = PaymentTransactionTypeCode - def has__content(self): - if ( - self.PaymentCard is not None or - self.BankAcct is not None or - self.Voucher is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType152', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType152') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType152': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType152') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType152', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType152'): - if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) - if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) - if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType152', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Voucher is not None: - namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' - self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('GuaranteeTypeCode', node) - if value is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - self.GuaranteeTypeCode = value - value = find_attr_value_('GuaranteeID', node) - if value is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - self.GuaranteeID = value - value = find_attr_value_('PaymentTransactionTypeCode', node) - if value is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - self.PaymentTransactionTypeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType153.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' - elif nodeName_ == 'BankAcct': - obj_ = BankAcctType159.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Voucher': - obj_ = VoucherType162.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Voucher = obj_ - obj_.original_tagname_ = 'Voucher' -# end class AcceptedPaymentType152 - - -class PaymentCardType153(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType153) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType153.subclass: - return PaymentCardType153.subclass(*args_, **kwargs_) - else: - return PaymentCardType153(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType157(self, value): - # Validate type CardCodeType157, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType157_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType157_patterns_, )) - validate_CardCodeType157_patterns_ = [['^([A-Z]{1,2})$']] - def validate_ExpireDateType158(self, value): - # Validate type ExpireDateType158, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType158_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType158_patterns_, )) - validate_ExpireDateType158_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType153', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType153') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType153': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType153') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType153', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType153'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType153', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType157(self.CardCode) # validate type CardCodeType157 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType158(self.ExpireDate) # validate type ExpireDateType158 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType154.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType153 - - -class CardNumberType154(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.Token = _cast(None, Token) - self.Token_nsprefix_ = None - self.TokenProviderID = _cast(None, TokenProviderID) - self.TokenProviderID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType154) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType154.subclass: - return CardNumberType154.subclass(*args_, **kwargs_) - else: - return CardNumberType154(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def get_Token(self): - return self.Token - def set_Token(self, Token): - self.Token = Token - def get_TokenProviderID(self): - return self.TokenProviderID - def set_TokenProviderID(self, TokenProviderID): - self.TokenProviderID = TokenProviderID - def validate_MaskType155(self, value): - # Validate type MaskType155, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType155_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType155_patterns_, )) - validate_MaskType155_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_TokenType156(self, value): - # Validate type TokenType156, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_TokenType156_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType156_patterns_, )) - validate_TokenType156_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType154', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType154') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType154': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType154') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType154', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType154'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - if self.Token is not None and 'Token' not in already_processed: - already_processed.add('Token') - outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) - if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType154', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType155(self.Mask) # validate type MaskType155 - value = find_attr_value_('Token', node) - if value is not None and 'Token' not in already_processed: - already_processed.add('Token') - self.Token = value - self.validate_TokenType156(self.Token) # validate type TokenType156 - value = find_attr_value_('TokenProviderID', node) - if value is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - self.TokenProviderID = value - self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardNumberType154 - - -class BankAcctType159(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.validate_StringLength1to64(self.BankAcctName) - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType159) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType159.subclass: - return BankAcctType159.subclass(*args_, **kwargs_) - else: - return BankAcctType159(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType159', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType159') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType159': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType159') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType159', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType159'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType159', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'BankAcctName') - value_ = self.gds_validate_string(value_, node, 'BankAcctName') - self.BankAcctName = value_ - self.BankAcctName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.BankAcctName) - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType160.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' -# end class BankAcctType159 - - -class BankAcctNumberType160(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.PlainText = PlainText - self.validate_NumericStringLength1to19(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType160) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType160.subclass: - return BankAcctNumberType160.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType160(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def validate_MaskType161(self, value): - # Validate type MaskType161, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType161_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType161_patterns_, )) - validate_MaskType161_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType160', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType160') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType160': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType160') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType160', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType160'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType160', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType161(self.Mask) # validate type MaskType161 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type NumericStringLength1to19 - self.validate_NumericStringLength1to19(self.PlainText) -# end class BankAcctNumberType160 - - -class VoucherType162(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ElectronicIndicator = _cast(bool, ElectronicIndicator) - self.ElectronicIndicator_nsprefix_ = None - self.Identifier = _cast(None, Identifier) - self.Identifier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VoucherType162) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VoucherType162.subclass: - return VoucherType162.subclass(*args_, **kwargs_) - else: - return VoucherType162(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ElectronicIndicator(self): - return self.ElectronicIndicator - def set_ElectronicIndicator(self, ElectronicIndicator): - self.ElectronicIndicator = ElectronicIndicator - def get_Identifier(self): - return self.Identifier - def set_Identifier(self, Identifier): - self.Identifier = Identifier - def validate_ElectronicIndicatorType163(self, value): - # Validate type ElectronicIndicatorType163, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_ElectronicIndicatorType163_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType163_patterns_, )) - validate_ElectronicIndicatorType163_patterns_ = [['^(1|true)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType162', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType162') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VoucherType162': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType162') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType162', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType162'): - if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) - if self.Identifier is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType162', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ElectronicIndicator', node) - if value is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - if value in ('true', '1'): - self.ElectronicIndicator = True - elif value in ('false', '0'): - self.ElectronicIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_ElectronicIndicatorType163(self.ElectronicIndicator) # validate type ElectronicIndicatorType163 - value = find_attr_value_('Identifier', node) - if value is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - self.Identifier = value - self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class VoucherType162 - - -class AmountPercentType164(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType164) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType164.subclass: - return AmountPercentType164.subclass(*args_, **kwargs_) - else: - return AmountPercentType164(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType164', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType164') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType164': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType164') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType164', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType164'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType164', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType164 - - -class PenaltyDescriptionType167(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType167) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType167.subclass: - return PenaltyDescriptionType167.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType167(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType167', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType167') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType167': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType167') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType167', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType167'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType167', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class PenaltyDescriptionType167 - - -class ProfileType172(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileType = _cast(None, ProfileType) - self.ProfileType_nsprefix_ = None - self.CompanyInfo = CompanyInfo - self.CompanyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType172) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType172.subclass: - return ProfileType172.subclass(*args_, **kwargs_) - else: - return ProfileType172(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyInfo(self): - return self.CompanyInfo - def set_CompanyInfo(self, CompanyInfo): - self.CompanyInfo = CompanyInfo - def get_ProfileType(self): - return self.ProfileType - def set_ProfileType(self, ProfileType): - self.ProfileType = ProfileType - def validate_ProfileTypeType181(self, value): - # Validate type ProfileTypeType181, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['4'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType181' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CompanyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType172', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType172') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType172': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType172') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType172', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType172'): - if self.ProfileType is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType172', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyInfo is not None: - namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' - self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ProfileType', node) - if value is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - self.ProfileType = value - self.validate_ProfileTypeType181(self.ProfileType) # validate type ProfileTypeType181 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyInfo': - obj_ = CompanyInfoType173.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyInfo = obj_ - obj_.original_tagname_ = 'CompanyInfo' -# end class ProfileType172 - - -class CompanyNameType174(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType174) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType174.subclass: - return CompanyNameType174.subclass(*args_, **kwargs_) - else: - return CompanyNameType174(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType174', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType174') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType174': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType174') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType174'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType174', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType174 - - -class CountryNameType176(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType176) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType176.subclass: - return CountryNameType176.subclass(*args_, **kwargs_) - else: - return CountryNameType176(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType177(self, value): - # Validate type CodeType177, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType177_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType177_patterns_, )) - validate_CodeType177_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType176', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType176') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType176': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType176') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType176', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType176'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType176', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType177(self.Code) # validate type CodeType177 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType176 - - -class TelephoneInfoType178(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneInfoType178) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneInfoType178.subclass: - return TelephoneInfoType178.subclass(*args_, **kwargs_) - else: - return TelephoneInfoType178(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType179(self, value): - # Validate type PhoneTechTypeType179, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType179_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType179_patterns_, )) - validate_PhoneTechTypeType179_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType180(self, value): - # Validate type PhoneNumberType180, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType180_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType180_patterns_, )) - validate_PhoneNumberType180_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType178', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType178') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneInfoType178': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType178') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType178', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType178'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType178', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType179(self.PhoneTechType) # validate type PhoneTechTypeType179 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType180(self.PhoneNumber) # validate type PhoneNumberType180 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneInfoType178 - - -class WarningType185(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType185) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType185.subclass: - return WarningType185.subclass(*args_, **kwargs_) - else: - return WarningType185(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType185', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType185') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType185': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType185') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType185'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType185', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType185 - - -class NotifDetailsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelNotifReport=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelNotifReport = HotelNotifReport - self.HotelNotifReport_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, NotifDetailsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if NotifDetailsType.subclass: - return NotifDetailsType.subclass(*args_, **kwargs_) - else: - return NotifDetailsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelNotifReport(self): - return self.HotelNotifReport - def set_HotelNotifReport(self, HotelNotifReport): - self.HotelNotifReport = HotelNotifReport - def has__content(self): - if ( - self.HotelNotifReport is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='NotifDetailsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('NotifDetailsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'NotifDetailsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NotifDetailsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NotifDetailsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NotifDetailsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='NotifDetailsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelNotifReport is not None: - namespaceprefix_ = self.HotelNotifReport_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelNotifReport_nsprefix_) else '' - self.HotelNotifReport.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelNotifReport', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelNotifReport': - obj_ = HotelNotifReportType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelNotifReport = obj_ - obj_.original_tagname_ = 'HotelNotifReport' -# end class NotifDetailsType - - -class HotelNotifReportType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservations=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelReservations = HotelReservations - self.HotelReservations_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelNotifReportType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelNotifReportType.subclass: - return HotelNotifReportType.subclass(*args_, **kwargs_) - else: - return HotelNotifReportType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservations(self): - return self.HotelReservations - def set_HotelReservations(self, HotelReservations): - self.HotelReservations = HotelReservations - def has__content(self): - if ( - self.HotelReservations is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelNotifReportType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelNotifReportType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelNotifReportType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelNotifReportType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelNotifReportType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelNotifReportType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelNotifReportType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelReservations is not None: - namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' - self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservations': - obj_ = HotelReservationsType186.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservations = obj_ - obj_.original_tagname_ = 'HotelReservations' -# end class HotelNotifReportType - - -class HotelReservationType187(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, UniqueID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType187) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType187.subclass: - return HotelReservationType187.subclass(*args_, **kwargs_) - else: - return HotelReservationType187(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def has__content(self): - if ( - self.UniqueID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType187', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType187') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType187': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType187') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType187', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType187'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType187', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType188.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' -# end class HotelReservationType187 - - -class UniqueIDType188(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType188) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType188.subclass: - return UniqueIDType188.subclass(*args_, **kwargs_) - else: - return UniqueIDType188(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType189(self, value): - # Validate type TypeType189, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType189' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType188', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType188') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType188': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType188') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType188', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType188'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType188', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType189(self.Type) # validate type TypeType189 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType188 - - -class ErrorType191(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType191) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType191.subclass: - return ErrorType191.subclass(*args_, **kwargs_) - else: - return ErrorType191(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType192(self, value): - # Validate type TypeType192, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType192' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType191', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType191') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType191': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType191') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType191'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType191', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType192(self.Type) # validate type TypeType192 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType191 - - -class WarningType194(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType194) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType194.subclass: - return WarningType194.subclass(*args_, **kwargs_) - else: - return WarningType194(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType194', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType194') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType194': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType194') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType194'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType194', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType194 - - -class HotelDescriptiveContentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelDescriptiveContent = HotelDescriptiveContent - self.HotelDescriptiveContent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentsType.subclass: - return HotelDescriptiveContentsType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveContent(self): - return self.HotelDescriptiveContent - def set_HotelDescriptiveContent(self, HotelDescriptiveContent): - self.HotelDescriptiveContent = HotelDescriptiveContent - def has__content(self): - if ( - self.HotelDescriptiveContent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveContent is not None: - namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' - self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveContent': - obj_ = HotelDescriptiveContentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContent = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContent' -# end class HotelDescriptiveContentsType - - -class HotelDescriptiveContentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCityCode = _cast(None, HotelCityCode) - self.HotelCityCode_nsprefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.AreaID = _cast(None, AreaID) - self.AreaID_nsprefix_ = None - self.HotelInfo = HotelInfo - self.HotelInfo_nsprefix_ = None - self.FacilityInfo = FacilityInfo - self.FacilityInfo_nsprefix_ = None - self.Policies = Policies - self.Policies_nsprefix_ = None - self.AffiliationInfo = AffiliationInfo - self.AffiliationInfo_nsprefix_ = None - self.ContactInfos = ContactInfos - self.ContactInfos_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentType.subclass: - return HotelDescriptiveContentType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelInfo(self): - return self.HotelInfo - def set_HotelInfo(self, HotelInfo): - self.HotelInfo = HotelInfo - def get_FacilityInfo(self): - return self.FacilityInfo - def set_FacilityInfo(self, FacilityInfo): - self.FacilityInfo = FacilityInfo - def get_Policies(self): - return self.Policies - def set_Policies(self, Policies): - self.Policies = Policies - def get_AffiliationInfo(self): - return self.AffiliationInfo - def set_AffiliationInfo(self, AffiliationInfo): - self.AffiliationInfo = AffiliationInfo - def get_ContactInfos(self): - return self.ContactInfos - def set_ContactInfos(self, ContactInfos): - self.ContactInfos = ContactInfos - def get_HotelCityCode(self): - return self.HotelCityCode - def set_HotelCityCode(self, HotelCityCode): - self.HotelCityCode = HotelCityCode - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def get_AreaID(self): - return self.AreaID - def set_AreaID(self, AreaID): - self.AreaID = AreaID - def validate_StringLength1to8(self, value): - # Validate type StringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_NumericStringLength1to8(self, value): - # Validate type NumericStringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to8_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) - validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - self.HotelInfo is not None or - self.FacilityInfo is not None or - self.Policies is not None or - self.AffiliationInfo is not None or - self.ContactInfos is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType'): - if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - if self.AreaID is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelInfo is not None: - namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' - self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) - if self.FacilityInfo is not None: - namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' - self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) - if self.Policies is not None: - namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' - self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) - if self.AffiliationInfo is not None: - namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' - self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) - if self.ContactInfos is not None: - namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' - self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCityCode', node) - if value is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - self.HotelCityCode = value - self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - value = find_attr_value_('AreaID', node) - if value is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - self.AreaID = value - self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelInfo': - obj_ = HotelInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelInfo = obj_ - obj_.original_tagname_ = 'HotelInfo' - elif nodeName_ == 'FacilityInfo': - obj_ = FacilityInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.FacilityInfo = obj_ - obj_.original_tagname_ = 'FacilityInfo' - elif nodeName_ == 'Policies': - obj_ = PoliciesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policies = obj_ - obj_.original_tagname_ = 'Policies' - elif nodeName_ == 'AffiliationInfo': - obj_ = AffiliationInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AffiliationInfo = obj_ - obj_.original_tagname_ = 'AffiliationInfo' - elif nodeName_ == 'ContactInfos': - obj_ = ContactInfosType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfos = obj_ - obj_.original_tagname_ = 'ContactInfos' -# end class HotelDescriptiveContentType - - -class HotelInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelStatusCode = _cast(int, HotelStatusCode) - self.HotelStatusCode_nsprefix_ = None - self.CategoryCodes = CategoryCodes - self.CategoryCodes_nsprefix_ = None - self.Descriptions = Descriptions - self.Descriptions_nsprefix_ = None - self.Position = Position - self.Position_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelInfoType.subclass: - return HotelInfoType.subclass(*args_, **kwargs_) - else: - return HotelInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CategoryCodes(self): - return self.CategoryCodes - def set_CategoryCodes(self, CategoryCodes): - self.CategoryCodes = CategoryCodes - def get_Descriptions(self): - return self.Descriptions - def set_Descriptions(self, Descriptions): - self.Descriptions = Descriptions - def get_Position(self): - return self.Position - def set_Position(self, Position): - self.Position = Position - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_HotelStatusCode(self): - return self.HotelStatusCode - def set_HotelStatusCode(self, HotelStatusCode): - self.HotelStatusCode = HotelStatusCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CategoryCodes is not None or - self.Descriptions is not None or - self.Position is not None or - self.Services is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType'): - if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CategoryCodes is not None: - namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' - self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) - if self.Descriptions is not None: - namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' - self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) - if self.Position is not None: - namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' - self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelStatusCode', node) - if value is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') - if self.HotelStatusCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CategoryCodes': - obj_ = CategoryCodesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CategoryCodes = obj_ - obj_.original_tagname_ = 'CategoryCodes' - elif nodeName_ == 'Descriptions': - obj_ = DescriptionsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Descriptions = obj_ - obj_.original_tagname_ = 'Descriptions' - elif nodeName_ == 'Position': - obj_ = PositionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Position = obj_ - obj_.original_tagname_ = 'Position' - elif nodeName_ == 'Services': - obj_ = ServicesType206.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' -# end class HotelInfoType - - -class CategoryCodesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCategory = HotelCategory - self.HotelCategory_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CategoryCodesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CategoryCodesType.subclass: - return CategoryCodesType.subclass(*args_, **kwargs_) - else: - return CategoryCodesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCategory(self): - return self.HotelCategory - def set_HotelCategory(self, HotelCategory): - self.HotelCategory = HotelCategory - def has__content(self): - if ( - self.HotelCategory is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CategoryCodesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelCategory is not None: - namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' - self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelCategory': - obj_ = HotelCategoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelCategory = obj_ - obj_.original_tagname_ = 'HotelCategory' -# end class CategoryCodesType - - -class HotelCategoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeDetail = _cast(None, CodeDetail) - self.CodeDetail_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelCategoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelCategoryType.subclass: - return HotelCategoryType.subclass(*args_, **kwargs_) - else: - return HotelCategoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeDetail(self): - return self.CodeDetail - def set_CodeDetail(self, CodeDetail): - self.CodeDetail = CodeDetail - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelCategoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeDetail is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeDetail', node) - if value is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - self.CodeDetail = value - self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelCategoryType - - -class DescriptionsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionsType.subclass: - return DescriptionsType.subclass(*args_, **kwargs_) - else: - return DescriptionsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def has__content(self): - if ( - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class DescriptionsType - - -class MultimediaDescriptionsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType.subclass: - return MultimediaDescriptionsType.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType - - -class MultimediaDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - self.VideoItems = VideoItems - self.VideoItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType.subclass: - return MultimediaDescriptionType.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_VideoItems(self): - return self.VideoItems - def set_VideoItems(self, VideoItems): - self.VideoItems = VideoItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType(self, value): - # Validate type InfoCodeType, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 17, 23, 24] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType_patterns_, )) - validate_InfoCodeType_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None or - self.VideoItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - if self.VideoItems is not None: - namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' - self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType(self.InfoCode) # validate type InfoCodeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' - elif nodeName_ == 'VideoItems': - obj_ = VideoItemsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItems = obj_ - obj_.original_tagname_ = 'VideoItems' -# end class MultimediaDescriptionType - - -class TextItemsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if TextItem is None: - self.TextItem = [] - else: - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType.subclass: - return TextItemsType.subclass(*args_, **kwargs_) - else: - return TextItemsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def add_TextItem(self, value): - self.TextItem.append(value) - def insert_TextItem_at(self, index, value): - self.TextItem.insert(index, value) - def replace_TextItem_at(self, index, value): - self.TextItem[index] = value - def has__content(self): - if ( - self.TextItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for TextItem_ in self.TextItem: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem.append(obj_) - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType - - -class TextItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType.subclass: - return TextItemType.subclass(*args_, **kwargs_) - else: - return TextItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType'): - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType - - -class DescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType.subclass: - return DescriptionType.subclass(*args_, **kwargs_) - else: - return DescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType195(self, value): - # Validate type TextFormatType195, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType195' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType196(self, value): - # Validate type LanguageType196, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType196_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType196_patterns_, )) - validate_LanguageType196_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType195(self.TextFormat) # validate type TextFormatType195 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType196(self.Language) # validate type LanguageType196 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType - - -class ImageItemsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType.subclass: - return ImageItemsType.subclass(*args_, **kwargs_) - else: - return ImageItemsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType - - -class ImageItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType.subclass: - return ImageItemType.subclass(*args_, **kwargs_) - else: - return ImageItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType200(self, value): - # Validate type CategoryType200, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 15, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType200' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType200_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType200_patterns_, )) - validate_CategoryType200_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType200(self.Category) # validate type CategoryType200 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType197.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType - - -class ImageFormatType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.ApplicableEnd = _cast(None, ApplicableEnd) - self.ApplicableEnd_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType.subclass: - return ImageFormatType.subclass(*args_, **kwargs_) - else: - return ImageFormatType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def get_ApplicableEnd(self): - return self.ApplicableEnd - def set_ApplicableEnd(self, ApplicableEnd): - self.ApplicableEnd = ApplicableEnd - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType(self, value): - # Validate type ApplicableStartType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType_patterns_, )) - validate_ApplicableStartType_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def validate_ApplicableEndType(self, value): - # Validate type ApplicableEndType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableEndType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType_patterns_, )) - validate_ApplicableEndType_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType(self.ApplicableStart) # validate type ApplicableStartType - value = find_attr_value_('ApplicableEnd', node) - if value is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - self.ApplicableEnd = value - self.validate_ApplicableEndType(self.ApplicableEnd) # validate type ApplicableEndType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType - - -class DescriptionType197(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType197) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType197.subclass: - return DescriptionType197.subclass(*args_, **kwargs_) - else: - return DescriptionType197(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType198(self, value): - # Validate type TextFormatType198, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType198' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType199(self, value): - # Validate type LanguageType199, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType199_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType199_patterns_, )) - validate_LanguageType199_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType197', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType197') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType197': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType197') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType197'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType197', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType198(self.TextFormat) # validate type TextFormatType198 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType199(self.Language) # validate type LanguageType199 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType197 - - -class VideoItemsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if VideoItem is None: - self.VideoItem = [] - else: - self.VideoItem = VideoItem - self.VideoItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemsType.subclass: - return VideoItemsType.subclass(*args_, **kwargs_) - else: - return VideoItemsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoItem(self): - return self.VideoItem - def set_VideoItem(self, VideoItem): - self.VideoItem = VideoItem - def add_VideoItem(self, value): - self.VideoItem.append(value) - def insert_VideoItem_at(self, index, value): - self.VideoItem.insert(index, value) - def replace_VideoItem_at(self, index, value): - self.VideoItem[index] = value - def has__content(self): - if ( - self.VideoItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for VideoItem_ in self.VideoItem: - namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' - VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoItem': - obj_ = VideoItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItem.append(obj_) - obj_.original_tagname_ = 'VideoItem' -# end class VideoItemsType - - -class VideoItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.VideoFormat = VideoFormat - self.VideoFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemType.subclass: - return VideoItemType.subclass(*args_, **kwargs_) - else: - return VideoItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoFormat(self): - return self.VideoFormat - def set_VideoFormat(self, VideoFormat): - self.VideoFormat = VideoFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType205(self, value): - # Validate type CategoryType205, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 20, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType205' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType205_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType205_patterns_, )) - validate_CategoryType205_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.VideoFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.VideoFormat is not None: - namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' - self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType205(self.Category) # validate type CategoryType205 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoFormat': - obj_ = VideoFormatType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoFormat = obj_ - obj_.original_tagname_ = 'VideoFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType202.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class VideoItemType - - -class VideoFormatType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoFormatType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoFormatType.subclass: - return VideoFormatType.subclass(*args_, **kwargs_) - else: - return VideoFormatType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType201(self, value): - # Validate type ApplicableStartType201, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType201_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType201_patterns_, )) - validate_ApplicableStartType201_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoFormatType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType201(self.ApplicableStart) # validate type ApplicableStartType201 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class VideoFormatType - - -class DescriptionType202(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType202) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType202.subclass: - return DescriptionType202.subclass(*args_, **kwargs_) - else: - return DescriptionType202(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType203(self, value): - # Validate type TextFormatType203, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType203' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType204(self, value): - # Validate type LanguageType204, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType204_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType204_patterns_, )) - validate_LanguageType204_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType202', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType202') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType202': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType202') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType202'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType202', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType203(self.TextFormat) # validate type TextFormatType203 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType204(self.Language) # validate type LanguageType204 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType202 - - -class PositionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Altitude = _cast(float, Altitude) - self.Altitude_nsprefix_ = None - self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) - self.AltitudeUnitOfMeasureCode_nsprefix_ = None - self.Latitude = _cast(float, Latitude) - self.Latitude_nsprefix_ = None - self.Longitude = _cast(float, Longitude) - self.Longitude_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PositionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PositionType.subclass: - return PositionType.subclass(*args_, **kwargs_) - else: - return PositionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Altitude(self): - return self.Altitude - def set_Altitude(self, Altitude): - self.Altitude = Altitude - def get_AltitudeUnitOfMeasureCode(self): - return self.AltitudeUnitOfMeasureCode - def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): - self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode - def get_Latitude(self): - return self.Latitude - def set_Latitude(self, Latitude): - self.Latitude = Latitude - def get_Longitude(self): - return self.Longitude - def set_Longitude(self, Longitude): - self.Longitude = Longitude - def validate_AltitudeUnitOfMeasureCodeType(self, value): - # Validate type AltitudeUnitOfMeasureCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PositionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType'): - if self.Altitude is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) - if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) - if self.Latitude is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) - if self.Longitude is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Altitude', node) - if value is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - value = self.gds_parse_decimal(value, node, 'Altitude') - self.Altitude = value - value = find_attr_value_('AltitudeUnitOfMeasureCode', node) - if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - self.AltitudeUnitOfMeasureCode = value - self.validate_AltitudeUnitOfMeasureCodeType(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType - value = find_attr_value_('Latitude', node) - if value is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - value = self.gds_parse_decimal(value, node, 'Latitude') - self.Latitude = value - value = find_attr_value_('Longitude', node) - if value is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - value = self.gds_parse_decimal(value, node, 'Longitude') - self.Longitude = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PositionType - - -class ServiceType207(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MealPlanCode = _cast(None, MealPlanCode) - self.MealPlanCode_nsprefix_ = None - self.ProximityCode = _cast(int, ProximityCode) - self.ProximityCode_nsprefix_ = None - self.Included = _cast(bool, Included) - self.Included_nsprefix_ = None - self.Features = Features - self.Features_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType207) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType207.subclass: - return ServiceType207.subclass(*args_, **kwargs_) - else: - return ServiceType207(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Features(self): - return self.Features - def set_Features(self, Features): - self.Features = Features - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MealPlanCode(self): - return self.MealPlanCode - def set_MealPlanCode(self, MealPlanCode): - self.MealPlanCode = MealPlanCode - def get_ProximityCode(self): - return self.ProximityCode - def set_ProximityCode(self, ProximityCode): - self.ProximityCode = ProximityCode - def get_Included(self): - return self.Included - def set_Included(self, Included): - self.Included = Included - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def validate_MealPlanCodeType(self, value): - # Validate type MealPlanCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.Features is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType207', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType207') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType207': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType207') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType207', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType207'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) - if self.ProximityCode is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) - if self.Included is not None and 'Included' not in already_processed: - already_processed.add('Included') - outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType207', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Features is not None: - namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' - self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code - value = find_attr_value_('MealPlanCode', node) - if value is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - self.MealPlanCode = value - self.validate_MealPlanCodeType(self.MealPlanCode) # validate type MealPlanCodeType - value = find_attr_value_('ProximityCode', node) - if value is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') - if self.ProximityCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 - value = find_attr_value_('Included', node) - if value is not None and 'Included' not in already_processed: - already_processed.add('Included') - if value in ('true', '1'): - self.Included = True - elif value in ('false', '0'): - self.Included = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Included) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Features': - obj_ = FeaturesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Features = obj_ - obj_.original_tagname_ = 'Features' -# end class ServiceType207 - - -class FeaturesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Feature=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Feature is None: - self.Feature = [] - else: - self.Feature = Feature - self.Feature_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeaturesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeaturesType.subclass: - return FeaturesType.subclass(*args_, **kwargs_) - else: - return FeaturesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Feature(self): - return self.Feature - def set_Feature(self, Feature): - self.Feature = Feature - def add_Feature(self, value): - self.Feature.append(value) - def insert_Feature_at(self, index, value): - self.Feature.insert(index, value) - def replace_Feature_at(self, index, value): - self.Feature[index] = value - def has__content(self): - if ( - self.Feature - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeaturesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Feature_ in self.Feature: - namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' - Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Feature': - obj_ = FeatureType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Feature.append(obj_) - obj_.original_tagname_ = 'Feature' -# end class FeaturesType - - -class FeatureType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AccessibleCode = _cast(int, AccessibleCode) - self.AccessibleCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeatureType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeatureType.subclass: - return FeatureType.subclass(*args_, **kwargs_) - else: - return FeatureType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AccessibleCode(self): - return self.AccessibleCode - def set_AccessibleCode(self, AccessibleCode): - self.AccessibleCode = AccessibleCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeatureType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType'): - if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AccessibleCode', node) - if value is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') - if self.AccessibleCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class FeatureType - - -class FacilityInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestRooms = GuestRooms - self.GuestRooms_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FacilityInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FacilityInfoType.subclass: - return FacilityInfoType.subclass(*args_, **kwargs_) - else: - return FacilityInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRooms(self): - return self.GuestRooms - def set_GuestRooms(self, GuestRooms): - self.GuestRooms = GuestRooms - def has__content(self): - if ( - self.GuestRooms is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FacilityInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestRooms is not None: - namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' - self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRooms': - obj_ = GuestRoomsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRooms = obj_ - obj_.original_tagname_ = 'GuestRooms' -# end class FacilityInfoType - - -class GuestRoomsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestRoom is None: - self.GuestRoom = [] - else: - self.GuestRoom = GuestRoom - self.GuestRoom_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomsType.subclass: - return GuestRoomsType.subclass(*args_, **kwargs_) - else: - return GuestRoomsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRoom(self): - return self.GuestRoom - def set_GuestRoom(self, GuestRoom): - self.GuestRoom = GuestRoom - def add_GuestRoom(self, value): - self.GuestRoom.append(value) - def insert_GuestRoom_at(self, index, value): - self.GuestRoom.insert(index, value) - def replace_GuestRoom_at(self, index, value): - self.GuestRoom[index] = value - def has__content(self): - if ( - self.GuestRoom - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestRoom_ in self.GuestRoom: - namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' - GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRoom': - obj_ = GuestRoomType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRoom.append(obj_) - obj_.original_tagname_ = 'GuestRoom' -# end class GuestRoomsType - - -class GuestRoomType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) - self.MaxChildOccupancy_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.TypeRoom = TypeRoom - self.TypeRoom_nsprefix_ = None - self.Amenities = Amenities - self.Amenities_nsprefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomType.subclass: - return GuestRoomType.subclass(*args_, **kwargs_) - else: - return GuestRoomType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TypeRoom(self): - return self.TypeRoom - def set_TypeRoom(self, TypeRoom): - self.TypeRoom = TypeRoom - def get_Amenities(self): - return self.Amenities - def set_Amenities(self, Amenities): - self.Amenities = Amenities - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxChildOccupancy(self): - return self.MaxChildOccupancy - def set_MaxChildOccupancy(self, MaxChildOccupancy): - self.MaxChildOccupancy = MaxChildOccupancy - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TypeRoom is not None or - self.Amenities is not None or - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TypeRoom is not None: - namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' - self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) - if self.Amenities is not None: - namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' - self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MaxChildOccupancy', node) - if value is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') - if self.MaxChildOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TypeRoom': - obj_ = TypeRoomType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TypeRoom = obj_ - obj_.original_tagname_ = 'TypeRoom' - elif nodeName_ == 'Amenities': - obj_ = AmenitiesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenities = obj_ - obj_.original_tagname_ = 'Amenities' - elif nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType209.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class GuestRoomType - - -class TypeRoomType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StandardOccupancy = _cast(int, StandardOccupancy) - self.StandardOccupancy_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomID = _cast(None, RoomID) - self.RoomID_nsprefix_ = None - self.Size = _cast(int, Size) - self.Size_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TypeRoomType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TypeRoomType.subclass: - return TypeRoomType.subclass(*args_, **kwargs_) - else: - return TypeRoomType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StandardOccupancy(self): - return self.StandardOccupancy - def set_StandardOccupancy(self, StandardOccupancy): - self.StandardOccupancy = StandardOccupancy - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomID(self): - return self.RoomID - def set_RoomID(self, RoomID): - self.RoomID = RoomID - def get_Size(self): - return self.Size - def set_Size(self, Size): - self.Size = Size - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RoomTypeType208(self, value): - # Validate type RoomTypeType208, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType208' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TypeRoomType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType'): - if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomID is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) - if self.Size is not None and 'Size' not in already_processed: - already_processed.add('Size') - outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StandardOccupancy', node) - if value is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') - if self.StandardOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomID', node) - if value is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - self.RoomID = value - self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 - value = find_attr_value_('Size', node) - if value is not None and 'Size' not in already_processed: - already_processed.add('Size') - self.Size = self.gds_parse_integer(value, node, 'Size') - if self.Size < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType208(self.RoomType) # validate type RoomTypeType208 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TypeRoomType - - -class AmenitiesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Amenity is None: - self.Amenity = [] - else: - self.Amenity = Amenity - self.Amenity_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenitiesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenitiesType.subclass: - return AmenitiesType.subclass(*args_, **kwargs_) - else: - return AmenitiesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amenity(self): - return self.Amenity - def set_Amenity(self, Amenity): - self.Amenity = Amenity - def add_Amenity(self, value): - self.Amenity.append(value) - def insert_Amenity_at(self, index, value): - self.Amenity.insert(index, value) - def replace_Amenity_at(self, index, value): - self.Amenity[index] = value - def has__content(self): - if ( - self.Amenity - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenitiesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Amenity_ in self.Amenity: - namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' - Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Amenity': - obj_ = AmenityType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenity.append(obj_) - obj_.original_tagname_ = 'Amenity' -# end class AmenitiesType - - -class AmenityType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomAmenityCode = _cast(None, RoomAmenityCode) - self.RoomAmenityCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenityType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenityType.subclass: - return AmenityType.subclass(*args_, **kwargs_) - else: - return AmenityType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomAmenityCode(self): - return self.RoomAmenityCode - def set_RoomAmenityCode(self, RoomAmenityCode): - self.RoomAmenityCode = RoomAmenityCode - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenityType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType'): - if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomAmenityCode', node) - if value is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - self.RoomAmenityCode = value - self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmenityType - - -class MultimediaDescriptionType210(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType210) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType210.subclass: - return MultimediaDescriptionType210.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType210(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType222(self, value): - # Validate type InfoCodeType222, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 23, 25] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType222' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType222_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType222_patterns_, )) - validate_InfoCodeType222_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType210', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType210') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType210': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType210') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType210', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType210'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType210', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType222(self.InfoCode) # validate type InfoCodeType222 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType211.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType216.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' -# end class MultimediaDescriptionType210 - - -class TextItemsType211(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType211) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType211.subclass: - return TextItemsType211.subclass(*args_, **kwargs_) - else: - return TextItemsType211(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def has__content(self): - if ( - self.TextItem is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType211', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType211') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType211': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType211') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType211', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType211'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType211', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItem is not None: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType212.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem = obj_ - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType211 - - -class TextItemType212(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType212) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType212.subclass: - return TextItemType212.subclass(*args_, **kwargs_) - else: - return TextItemType212(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType212', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType212') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType212': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType212') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType212', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType212'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType212', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType213.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType212 - - -class DescriptionType213(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType213) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType213.subclass: - return DescriptionType213.subclass(*args_, **kwargs_) - else: - return DescriptionType213(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType214(self, value): - # Validate type TextFormatType214, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType214' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType215(self, value): - # Validate type LanguageType215, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType215_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType215_patterns_, )) - validate_LanguageType215_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType213', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType213') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType213': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType213') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType213'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType213', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType214(self.TextFormat) # validate type TextFormatType214 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType215(self.Language) # validate type LanguageType215 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType213 - - -class ImageItemType217(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType217) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType217.subclass: - return ImageItemType217.subclass(*args_, **kwargs_) - else: - return ImageItemType217(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType217', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType217') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType217': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType217') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType217', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType217'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType217', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType218.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType219.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType217 - - -class ImageFormatType218(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType218) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType218.subclass: - return ImageFormatType218.subclass(*args_, **kwargs_) - else: - return ImageFormatType218(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType218', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType218') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType218': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType218') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType218', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType218'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType218', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType218 - - -class DescriptionType219(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType219) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType219.subclass: - return DescriptionType219.subclass(*args_, **kwargs_) - else: - return DescriptionType219(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType220(self, value): - # Validate type TextFormatType220, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType220' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType221(self, value): - # Validate type LanguageType221, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType221_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType221_patterns_, )) - validate_LanguageType221_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType219', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType219') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType219': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType219') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType219'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType219', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType220(self.TextFormat) # validate type TextFormatType220 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType221(self.Language) # validate type LanguageType221 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType219 - - -class PoliciesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Policy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Policy is None: - self.Policy = [] - else: - self.Policy = Policy - self.Policy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PoliciesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PoliciesType.subclass: - return PoliciesType.subclass(*args_, **kwargs_) - else: - return PoliciesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Policy(self): - return self.Policy - def set_Policy(self, Policy): - self.Policy = Policy - def add_Policy(self, value): - self.Policy.append(value) - def insert_Policy_at(self, index, value): - self.Policy.insert(index, value) - def replace_Policy_at(self, index, value): - self.Policy[index] = value - def has__content(self): - if ( - self.Policy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PoliciesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Policy_ in self.Policy: - namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' - Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Policy': - obj_ = PolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policy.append(obj_) - obj_.original_tagname_ = 'Policy' -# end class PoliciesType - - -class PolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPolicy = CancelPolicy - self.CancelPolicy_nsprefix_ = None - self.CheckoutCharges = CheckoutCharges - self.CheckoutCharges_nsprefix_ = None - self.PetsPolicies = PetsPolicies - self.PetsPolicies_nsprefix_ = None - self.TaxPolicies = TaxPolicies - self.TaxPolicies_nsprefix_ = None - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - self.GuaranteePaymentPolicy_nsprefix_ = None - self.PolicyInfo = PolicyInfo - self.PolicyInfo_nsprefix_ = None - self.StayRequirements = StayRequirements - self.StayRequirements_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyType.subclass: - return PolicyType.subclass(*args_, **kwargs_) - else: - return PolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPolicy(self): - return self.CancelPolicy - def set_CancelPolicy(self, CancelPolicy): - self.CancelPolicy = CancelPolicy - def get_CheckoutCharges(self): - return self.CheckoutCharges - def set_CheckoutCharges(self, CheckoutCharges): - self.CheckoutCharges = CheckoutCharges - def get_PetsPolicies(self): - return self.PetsPolicies - def set_PetsPolicies(self, PetsPolicies): - self.PetsPolicies = PetsPolicies - def get_TaxPolicies(self): - return self.TaxPolicies - def set_TaxPolicies(self, TaxPolicies): - self.TaxPolicies = TaxPolicies - def get_GuaranteePaymentPolicy(self): - return self.GuaranteePaymentPolicy - def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - def get_PolicyInfo(self): - return self.PolicyInfo - def set_PolicyInfo(self, PolicyInfo): - self.PolicyInfo = PolicyInfo - def get_StayRequirements(self): - return self.StayRequirements - def set_StayRequirements(self, StayRequirements): - self.StayRequirements = StayRequirements - def has__content(self): - if ( - self.CancelPolicy is not None or - self.CheckoutCharges is not None or - self.PetsPolicies is not None or - self.TaxPolicies is not None or - self.GuaranteePaymentPolicy is not None or - self.PolicyInfo is not None or - self.StayRequirements is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPolicy is not None: - namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' - self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) - if self.CheckoutCharges is not None: - namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' - self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) - if self.PetsPolicies is not None: - namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' - self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) - if self.TaxPolicies is not None: - namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' - self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) - if self.GuaranteePaymentPolicy is not None: - namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' - self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) - if self.PolicyInfo is not None: - namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' - self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) - if self.StayRequirements is not None: - namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' - self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPolicy': - obj_ = CancelPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPolicy = obj_ - obj_.original_tagname_ = 'CancelPolicy' - elif nodeName_ == 'CheckoutCharges': - obj_ = CheckoutChargesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharges = obj_ - obj_.original_tagname_ = 'CheckoutCharges' - elif nodeName_ == 'PetsPolicies': - obj_ = PetsPoliciesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicies = obj_ - obj_.original_tagname_ = 'PetsPolicies' - elif nodeName_ == 'TaxPolicies': - obj_ = TaxPoliciesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicies = obj_ - obj_.original_tagname_ = 'TaxPolicies' - elif nodeName_ == 'GuaranteePaymentPolicy': - obj_ = GuaranteePaymentPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePaymentPolicy = obj_ - obj_.original_tagname_ = 'GuaranteePaymentPolicy' - elif nodeName_ == 'PolicyInfo': - obj_ = PolicyInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PolicyInfo = obj_ - obj_.original_tagname_ = 'PolicyInfo' - elif nodeName_ == 'StayRequirements': - obj_ = StayRequirementsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirements = obj_ - obj_.original_tagname_ = 'StayRequirements' -# end class PolicyType - - -class CancelPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPolicyType.subclass: - return CancelPolicyType.subclass(*args_, **kwargs_) - else: - return CancelPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType223.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPolicyType - - -class PenaltyDescriptionType224(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType224) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType224.subclass: - return PenaltyDescriptionType224.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType224(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType224', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType224') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType224': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType224') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType224', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType224'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType224', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType225.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class PenaltyDescriptionType224 - - -class TextType225(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType225) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType225.subclass: - return TextType225.subclass(*args_, **kwargs_) - else: - return TextType225(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType226(self, value): - # Validate type TextFormatType226, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType226' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType227(self, value): - # Validate type LanguageType227, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType227_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType227_patterns_, )) - validate_LanguageType227_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType225', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType225') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType225': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType225') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType225'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType225', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType226(self.TextFormat) # validate type TextFormatType226 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType227(self.Language) # validate type LanguageType227 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType225 - - -class CheckoutChargesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CheckoutCharge = CheckoutCharge - self.CheckoutCharge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargesType.subclass: - return CheckoutChargesType.subclass(*args_, **kwargs_) - else: - return CheckoutChargesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CheckoutCharge(self): - return self.CheckoutCharge - def set_CheckoutCharge(self, CheckoutCharge): - self.CheckoutCharge = CheckoutCharge - def has__content(self): - if ( - self.CheckoutCharge is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CheckoutCharge is not None: - namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' - self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CheckoutCharge': - obj_ = CheckoutChargeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharge = obj_ - obj_.original_tagname_ = 'CheckoutCharge' -# end class CheckoutChargesType - - -class CheckoutChargeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargeType.subclass: - return CheckoutChargeType.subclass(*args_, **kwargs_) - else: - return CheckoutChargeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType228.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class CheckoutChargeType - - -class DescriptionType228(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType228) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType228.subclass: - return DescriptionType228.subclass(*args_, **kwargs_) - else: - return DescriptionType228(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType228', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType228') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType228': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType228') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType228', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType228'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType228', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType229.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType228 - - -class TextType229(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType229) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType229.subclass: - return TextType229.subclass(*args_, **kwargs_) - else: - return TextType229(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType230(self, value): - # Validate type TextFormatType230, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType230' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType231(self, value): - # Validate type LanguageType231, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType231_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType231_patterns_, )) - validate_LanguageType231_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType229', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType229') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType229': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType229') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType229'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType229', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType230(self.TextFormat) # validate type TextFormatType230 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType231(self.Language) # validate type LanguageType231 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType229 - - -class PetsPoliciesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PetsPolicy = PetsPolicy - self.PetsPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPoliciesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPoliciesType.subclass: - return PetsPoliciesType.subclass(*args_, **kwargs_) - else: - return PetsPoliciesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PetsPolicy(self): - return self.PetsPolicy - def set_PetsPolicy(self, PetsPolicy): - self.PetsPolicy = PetsPolicy - def has__content(self): - if ( - self.PetsPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPoliciesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PetsPolicy is not None: - namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' - self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PetsPolicy': - obj_ = PetsPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicy = obj_ - obj_.original_tagname_ = 'PetsPolicy' -# end class PetsPoliciesType - - -class PetsPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MaxPetQuantity = _cast(int, MaxPetQuantity) - self.MaxPetQuantity_nsprefix_ = None - self.NonRefundableFee = _cast(float, NonRefundableFee) - self.NonRefundableFee_nsprefix_ = None - self.ChargeCode = _cast(int, ChargeCode) - self.ChargeCode_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPolicyType.subclass: - return PetsPolicyType.subclass(*args_, **kwargs_) - else: - return PetsPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_MaxPetQuantity(self): - return self.MaxPetQuantity - def set_MaxPetQuantity(self, MaxPetQuantity): - self.MaxPetQuantity = MaxPetQuantity - def get_NonRefundableFee(self): - return self.NonRefundableFee - def set_NonRefundableFee(self, NonRefundableFee): - self.NonRefundableFee = NonRefundableFee - def get_ChargeCode(self): - return self.ChargeCode - def set_ChargeCode(self, ChargeCode): - self.ChargeCode = ChargeCode - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType'): - if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) - if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) - if self.ChargeCode is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MaxPetQuantity', node) - if value is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') - if self.MaxPetQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 - value = find_attr_value_('NonRefundableFee', node) - if value is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - value = self.gds_parse_decimal(value, node, 'NonRefundableFee') - self.NonRefundableFee = value - self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 - value = find_attr_value_('ChargeCode', node) - if value is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') - if self.ChargeCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType232.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class PetsPolicyType - - -class DescriptionType232(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType232) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType232.subclass: - return DescriptionType232.subclass(*args_, **kwargs_) - else: - return DescriptionType232(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType232', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType232') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType232': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType232') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType232', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType232'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType232', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType233.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType232 - - -class TextType233(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType233) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType233.subclass: - return TextType233.subclass(*args_, **kwargs_) - else: - return TextType233(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType234(self, value): - # Validate type TextFormatType234, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType234' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType235(self, value): - # Validate type LanguageType235, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType235_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType235_patterns_, )) - validate_LanguageType235_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType233', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType233') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType233': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType233') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType233'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType233', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType234(self.TextFormat) # validate type TextFormatType234 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType235(self.Language) # validate type LanguageType235 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType233 - - -class TaxPoliciesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TaxPolicy = TaxPolicy - self.TaxPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPoliciesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPoliciesType.subclass: - return TaxPoliciesType.subclass(*args_, **kwargs_) - else: - return TaxPoliciesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxPolicy(self): - return self.TaxPolicy - def set_TaxPolicy(self, TaxPolicy): - self.TaxPolicy = TaxPolicy - def has__content(self): - if ( - self.TaxPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPoliciesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxPolicy is not None: - namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' - self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxPolicy': - obj_ = TaxPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicy = obj_ - obj_.original_tagname_ = 'TaxPolicy' -# end class TaxPoliciesType - - -class TaxPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.ChargeFrequency = _cast(None, ChargeFrequency) - self.ChargeFrequency_nsprefix_ = None - self.ChargeUnit = _cast(None, ChargeUnit) - self.ChargeUnit_nsprefix_ = None - self.TaxDescription = TaxDescription - self.TaxDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPolicyType.subclass: - return TaxPolicyType.subclass(*args_, **kwargs_) - else: - return TaxPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxDescription(self): - return self.TaxDescription - def set_TaxDescription(self, TaxDescription): - self.TaxDescription = TaxDescription - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_ChargeFrequency(self): - return self.ChargeFrequency - def set_ChargeFrequency(self, ChargeFrequency): - self.ChargeFrequency = ChargeFrequency - def get_ChargeUnit(self): - return self.ChargeUnit - def set_ChargeUnit(self, ChargeUnit): - self.ChargeUnit = ChargeUnit - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_CodeType239(self, value): - # Validate type CodeType239, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType239' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeFrequencyType(self, value): - # Validate type ChargeFrequencyType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeUnitType(self, value): - # Validate type ChargeUnitType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['21'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.TaxDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) - if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxDescription is not None: - namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' - self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType239(self.Code) # validate type CodeType239 - value = find_attr_value_('ChargeFrequency', node) - if value is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - self.ChargeFrequency = value - self.validate_ChargeFrequencyType(self.ChargeFrequency) # validate type ChargeFrequencyType - value = find_attr_value_('ChargeUnit', node) - if value is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - self.ChargeUnit = value - self.validate_ChargeUnitType(self.ChargeUnit) # validate type ChargeUnitType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxDescription': - obj_ = TaxDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxDescription = obj_ - obj_.original_tagname_ = 'TaxDescription' -# end class TaxPolicyType - - -class TaxDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxDescriptionType.subclass: - return TaxDescriptionType.subclass(*args_, **kwargs_) - else: - return TaxDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType236.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class TaxDescriptionType - - -class TextType236(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType236) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType236.subclass: - return TextType236.subclass(*args_, **kwargs_) - else: - return TextType236(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType237(self, value): - # Validate type TextFormatType237, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType237' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType238(self, value): - # Validate type LanguageType238, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType238_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType238_patterns_, )) - validate_LanguageType238_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType236', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType236') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType236': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType236') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType236'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType236', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType237(self.TextFormat) # validate type TextFormatType237 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType238(self.Language) # validate type LanguageType238 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType236 - - -class GuaranteePaymentPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentPolicyType.subclass: - return GuaranteePaymentPolicyType.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def has__content(self): - if ( - self.GuaranteePayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteePayment is not None: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType240.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment = obj_ - obj_.original_tagname_ = 'GuaranteePayment' -# end class GuaranteePaymentPolicyType - - -class GuaranteePaymentType240(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - self.Deadline = Deadline - self.Deadline_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType240) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType240.subclass: - return GuaranteePaymentType240.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType240(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Deadline(self): - return self.Deadline - def set_Deadline(self, Deadline): - self.Deadline = Deadline - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None or - self.Deadline is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType240', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType240') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType240': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType240') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType240', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType240'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType240', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - if self.Deadline is not None: - namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' - self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType241.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType247.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' - elif nodeName_ == 'Deadline': - obj_ = DeadlineType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Deadline = obj_ - obj_.original_tagname_ = 'Deadline' -# end class GuaranteePaymentType240 - - -class AcceptedPaymentsType241(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AcceptedPayment is None: - self.AcceptedPayment = [] - else: - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType241) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType241.subclass: - return AcceptedPaymentsType241.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType241(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def add_AcceptedPayment(self, value): - self.AcceptedPayment.append(value) - def insert_AcceptedPayment_at(self, index, value): - self.AcceptedPayment.insert(index, value) - def replace_AcceptedPayment_at(self, index, value): - self.AcceptedPayment[index] = value - def has__content(self): - if ( - self.AcceptedPayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType241', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType241') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType241': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType241') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType241', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType241'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType241', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AcceptedPayment_ in self.AcceptedPayment: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType242.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment.append(obj_) - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType241 - - -class AcceptedPaymentType242(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Cash = Cash - self.Cash_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType242) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType242.subclass: - return AcceptedPaymentType242.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType242(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Cash(self): - return self.Cash - def set_Cash(self, Cash): - self.Cash = Cash - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.BankAcct is not None or - self.Cash is not None or - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType242', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType242') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType242': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType242') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType242', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType242'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType242', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Cash is not None: - namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' - self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcct': - obj_ = BankAcctType243.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Cash': - obj_ = CashType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Cash = obj_ - obj_.original_tagname_ = 'Cash' - elif nodeName_ == 'PaymentCard': - obj_ = PaymentCardType246.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class AcceptedPaymentType242 - - -class BankAcctType243(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - self.BankID = BankID - self.BankID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType243) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType243.subclass: - return BankAcctType243.subclass(*args_, **kwargs_) - else: - return BankAcctType243(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def get_BankID(self): - return self.BankID - def set_BankID(self, BankID): - self.BankID = BankID - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None or - self.BankID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType243', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType243') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType243': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType243') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType243', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType243'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType243', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - if self.BankID is not None: - namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' - self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - obj_ = BankAcctNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctName = obj_ - obj_.original_tagname_ = 'BankAcctName' - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType244.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' - elif nodeName_ == 'BankID': - obj_ = BankIDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankID = obj_ - obj_.original_tagname_ = 'BankID' -# end class BankAcctType243 - - -class BankAcctNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNameType.subclass: - return BankAcctNameType.subclass(*args_, **kwargs_) - else: - return BankAcctNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BankAcctNameType - - -class BankAcctNumberType244(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType244) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType244.subclass: - return BankAcctNumberType244.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType244(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType244', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType244') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType244': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType244') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType244', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType244'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType244', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankAcctNumberType244 - - -class PlainTextType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType.subclass: - return PlainTextType.subclass(*args_, **kwargs_) - else: - return PlainTextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType - - -class BankIDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankIDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankIDType.subclass: - return BankIDType.subclass(*args_, **kwargs_) - else: - return BankIDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankIDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType245.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankIDType - - -class CashType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CashIndicator = _cast(bool, CashIndicator) - self.CashIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CashType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CashType.subclass: - return CashType.subclass(*args_, **kwargs_) - else: - return CashType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CashIndicator(self): - return self.CashIndicator - def set_CashIndicator(self, CashIndicator): - self.CashIndicator = CashIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CashType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType'): - if self.CashIndicator is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CashIndicator', node) - if value is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - if value in ('true', '1'): - self.CashIndicator = True - elif value in ('false', '0'): - self.CashIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.CashIndicator) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CashType - - -class PaymentCardType246(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.CardType = CardType - self.CardType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType246) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType246.subclass: - return PaymentCardType246.subclass(*args_, **kwargs_) - else: - return PaymentCardType246(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardType(self): - return self.CardType - def set_CardType(self, CardType): - self.CardType = CardType - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CardType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType246', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType246') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType246': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType246') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType246', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType246'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType246', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardType is not None: - namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' - self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardType': - obj_ = CardTypeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardType = obj_ - obj_.original_tagname_ = 'CardType' -# end class PaymentCardType246 - - -class CardTypeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardTypeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardTypeType.subclass: - return CardTypeType.subclass(*args_, **kwargs_) - else: - return CardTypeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardTypeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardTypeType - - -class AmountPercentType247(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(float, Percent) - self.Percent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType247) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType247.subclass: - return AmountPercentType247.subclass(*args_, **kwargs_) - else: - return AmountPercentType247(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType247', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType247') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType247': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType247') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType247', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType247'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType247', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - value = self.gds_parse_decimal(value, node, 'Percent') - self.Percent = value - self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType247 - - -class DeadlineType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OffsetDropTime = _cast(None, OffsetDropTime) - self.OffsetDropTime_nsprefix_ = None - self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) - self.OffsetTimeUnit_nsprefix_ = None - self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) - self.OffsetUnitMultiplier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DeadlineType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DeadlineType.subclass: - return DeadlineType.subclass(*args_, **kwargs_) - else: - return DeadlineType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OffsetDropTime(self): - return self.OffsetDropTime - def set_OffsetDropTime(self, OffsetDropTime): - self.OffsetDropTime = OffsetDropTime - def get_OffsetTimeUnit(self): - return self.OffsetTimeUnit - def set_OffsetTimeUnit(self, OffsetTimeUnit): - self.OffsetTimeUnit = OffsetTimeUnit - def get_OffsetUnitMultiplier(self): - return self.OffsetUnitMultiplier - def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): - self.OffsetUnitMultiplier = OffsetUnitMultiplier - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TimeUnitType(self, value): - # Validate type TimeUnitType, a restriction on StringLength1to16. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DeadlineType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType'): - if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) - if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) - if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('OffsetDropTime', node) - if value is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - self.OffsetDropTime = value - self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string - value = find_attr_value_('OffsetTimeUnit', node) - if value is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - self.OffsetTimeUnit = value - self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType - value = find_attr_value_('OffsetUnitMultiplier', node) - if value is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') - if self.OffsetUnitMultiplier < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DeadlineType - - -class PolicyInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestAge = _cast(int, MinGuestAge) - self.MinGuestAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyInfoType.subclass: - return PolicyInfoType.subclass(*args_, **kwargs_) - else: - return PolicyInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MinGuestAge(self): - return self.MinGuestAge - def set_MinGuestAge(self, MinGuestAge): - self.MinGuestAge = MinGuestAge - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType'): - if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestAge', node) - if value is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') - if self.MinGuestAge < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PolicyInfoType - - -class StayRequirementsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if StayRequirement is None: - self.StayRequirement = [] - else: - self.StayRequirement = StayRequirement - self.StayRequirement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementsType.subclass: - return StayRequirementsType.subclass(*args_, **kwargs_) - else: - return StayRequirementsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayRequirement(self): - return self.StayRequirement - def set_StayRequirement(self, StayRequirement): - self.StayRequirement = StayRequirement - def add_StayRequirement(self, value): - self.StayRequirement.append(value) - def insert_StayRequirement_at(self, index, value): - self.StayRequirement.insert(index, value) - def replace_StayRequirement_at(self, index, value): - self.StayRequirement[index] = value - def has__content(self): - if ( - self.StayRequirement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for StayRequirement_ in self.StayRequirement: - namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' - StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StayRequirement': - obj_ = StayRequirementType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirement.append(obj_) - obj_.original_tagname_ = 'StayRequirement' -# end class StayRequirementsType - - -class StayRequirementType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StayContext = _cast(None, StayContext) - self.StayContext_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementType.subclass: - return StayRequirementType.subclass(*args_, **kwargs_) - else: - return StayRequirementType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayContext(self): - return self.StayContext - def set_StayContext(self, StayContext): - self.StayContext = StayContext - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_StayContextType(self, value): - # Validate type StayContextType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Checkin', 'Checkout'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StartType(self, value): - # Validate type StartType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_StartType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType_patterns_, )) - validate_StartType_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def validate_EndType(self, value): - # Validate type EndType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_EndType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType_patterns_, )) - validate_EndType_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType'): - if self.StayContext is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StayContext', node) - if value is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - self.StayContext = value - self.validate_StayContextType(self.StayContext) # validate type StayContextType - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_StartType(self.Start) # validate type StartType - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_EndType(self.End) # validate type EndType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StayRequirementType - - -class AffiliationInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Awards=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Awards = Awards - self.Awards_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AffiliationInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AffiliationInfoType.subclass: - return AffiliationInfoType.subclass(*args_, **kwargs_) - else: - return AffiliationInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Awards(self): - return self.Awards - def set_Awards(self, Awards): - self.Awards = Awards - def has__content(self): - if ( - self.Awards is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AffiliationInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Awards is not None: - namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' - self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Awards': - obj_ = AwardsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Awards = obj_ - obj_.original_tagname_ = 'Awards' -# end class AffiliationInfoType - - -class AwardsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Award=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Award is None: - self.Award = [] - else: - self.Award = Award - self.Award_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardsType.subclass: - return AwardsType.subclass(*args_, **kwargs_) - else: - return AwardsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Award(self): - return self.Award - def set_Award(self, Award): - self.Award = Award - def add_Award(self, value): - self.Award.append(value) - def insert_Award_at(self, index, value): - self.Award.insert(index, value) - def replace_Award_at(self, index, value): - self.Award[index] = value - def has__content(self): - if ( - self.Award - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Award_ in self.Award: - namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' - Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Award': - obj_ = AwardType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Award.append(obj_) - obj_.original_tagname_ = 'Award' -# end class AwardsType - - -class AwardType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Rating = _cast(float, Rating) - self.Rating_nsprefix_ = None - self.Provider = _cast(None, Provider) - self.Provider_nsprefix_ = None - self.RatingSymbol = _cast(None, RatingSymbol) - self.RatingSymbol_nsprefix_ = None - self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) - self.OfficialAppointmentInd_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardType.subclass: - return AwardType.subclass(*args_, **kwargs_) - else: - return AwardType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rating(self): - return self.Rating - def set_Rating(self, Rating): - self.Rating = Rating - def get_Provider(self): - return self.Provider - def set_Provider(self, Provider): - self.Provider = Provider - def get_RatingSymbol(self): - return self.RatingSymbol - def set_RatingSymbol(self, RatingSymbol): - self.RatingSymbol = RatingSymbol - def get_OfficialAppointmentInd(self): - return self.OfficialAppointmentInd - def set_OfficialAppointmentInd(self, OfficialAppointmentInd): - self.OfficialAppointmentInd = OfficialAppointmentInd - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType'): - if self.Rating is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) - if self.Provider is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) - if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) - if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Rating', node) - if value is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - value = self.gds_parse_decimal(value, node, 'Rating') - self.Rating = value - self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 - value = find_attr_value_('Provider', node) - if value is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - self.Provider = value - self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string - value = find_attr_value_('RatingSymbol', node) - if value is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - self.RatingSymbol = value - self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string - value = find_attr_value_('OfficialAppointmentInd', node) - if value is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - if value in ('true', '1'): - self.OfficialAppointmentInd = True - elif value in ('false', '0'): - self.OfficialAppointmentInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AwardType - - -class ContactInfosType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ContactInfo = ContactInfo - self.ContactInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfosType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfosType.subclass: - return ContactInfosType.subclass(*args_, **kwargs_) - else: - return ContactInfosType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ContactInfo(self): - return self.ContactInfo - def set_ContactInfo(self, ContactInfo): - self.ContactInfo = ContactInfo - def has__content(self): - if ( - self.ContactInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfosType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ContactInfo is not None: - namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' - self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ContactInfo': - obj_ = ContactInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfo = obj_ - obj_.original_tagname_ = 'ContactInfo' -# end class ContactInfosType - - -class ContactInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = _cast(None, Location) - self.Location_nsprefix_ = None - self.Addresses = Addresses - self.Addresses_nsprefix_ = None - self.Phones = Phones - self.Phones_nsprefix_ = None - self.Emails = Emails - self.Emails_nsprefix_ = None - self.URLs = URLs - self.URLs_nsprefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfoType.subclass: - return ContactInfoType.subclass(*args_, **kwargs_) - else: - return ContactInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Addresses(self): - return self.Addresses - def set_Addresses(self, Addresses): - self.Addresses = Addresses - def get_Phones(self): - return self.Phones - def set_Phones(self, Phones): - self.Phones = Phones - def get_Emails(self): - return self.Emails - def set_Emails(self, Emails): - self.Emails = Emails - def get_URLs(self): - return self.URLs - def set_URLs(self, URLs): - self.URLs = URLs - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def validate_LocationType256(self, value): - # Validate type LocationType256, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['6'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType256' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Addresses is not None or - self.Phones is not None or - self.Emails is not None or - self.URLs is not None or - self.CompanyName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType'): - if self.Location is not None and 'Location' not in already_processed: - already_processed.add('Location') - outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Addresses is not None: - namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' - self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) - if self.Phones is not None: - namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' - self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) - if self.Emails is not None: - namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' - self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) - if self.URLs is not None: - namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' - self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Location', node) - if value is not None and 'Location' not in already_processed: - already_processed.add('Location') - self.Location = value - self.validate_LocationType256(self.Location) # validate type LocationType256 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Addresses': - obj_ = AddressesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Addresses = obj_ - obj_.original_tagname_ = 'Addresses' - elif nodeName_ == 'Phones': - obj_ = PhonesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phones = obj_ - obj_.original_tagname_ = 'Phones' - elif nodeName_ == 'Emails': - obj_ = EmailsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Emails = obj_ - obj_.original_tagname_ = 'Emails' - elif nodeName_ == 'URLs': - obj_ = URLsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URLs = obj_ - obj_.original_tagname_ = 'URLs' - elif nodeName_ == 'CompanyName': - obj_ = CompanyNameType255.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' -# end class ContactInfoType - - -class AddressesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Address is None: - self.Address = [] - else: - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressesType.subclass: - return AddressesType.subclass(*args_, **kwargs_) - else: - return AddressesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def add_Address(self, value): - self.Address.append(value) - def insert_Address_at(self, index, value): - self.Address.insert(index, value) - def replace_Address_at(self, index, value): - self.Address[index] = value - def has__content(self): - if ( - self.Address - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Address_ in self.Address: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Address': - obj_ = AddressType248.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address.append(obj_) - obj_.original_tagname_ = 'Address' -# end class AddressesType - - -class AddressType248(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.StateProv = StateProv - self.StateProv_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType248) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType248.subclass: - return AddressType248.subclass(*args_, **kwargs_) - else: - return AddressType248(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_StateProv(self): - return self.StateProv - def set_StateProv(self, StateProv): - self.StateProv = StateProv - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType251(self, value): - # Validate type LanguageType251, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType251_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType251_patterns_, )) - validate_LanguageType251_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.StateProv is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType248', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType248') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType248': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType248') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType248', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType248'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType248', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.StateProv is not None: - namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' - self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType251(self.Language) # validate type LanguageType251 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'StateProv': - obj_ = StateProvType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StateProv = obj_ - obj_.original_tagname_ = 'StateProv' - elif nodeName_ == 'CountryName': - obj_ = CountryNameType249.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType248 - - -class StateProvType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StateCode = _cast(None, StateCode) - self.StateCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StateProvType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StateProvType.subclass: - return StateProvType.subclass(*args_, **kwargs_) - else: - return StateProvType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StateCode(self): - return self.StateCode - def set_StateCode(self, StateCode): - self.StateCode = StateCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StateProvType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType'): - if self.StateCode is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StateCode', node) - if value is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - self.StateCode = value - self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StateProvType - - -class CountryNameType249(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType249) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType249.subclass: - return CountryNameType249.subclass(*args_, **kwargs_) - else: - return CountryNameType249(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType250(self, value): - # Validate type CodeType250, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType250_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType250_patterns_, )) - validate_CodeType250_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType249', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType249') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType249': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType249') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType249', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType249'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType249', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType250(self.Code) # validate type CodeType250 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType249 - - -class PhonesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Phone=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Phone is None: - self.Phone = [] - else: - self.Phone = Phone - self.Phone_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhonesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhonesType.subclass: - return PhonesType.subclass(*args_, **kwargs_) - else: - return PhonesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Phone(self): - return self.Phone - def set_Phone(self, Phone): - self.Phone = Phone - def add_Phone(self, value): - self.Phone.append(value) - def insert_Phone_at(self, index, value): - self.Phone.insert(index, value) - def replace_Phone_at(self, index, value): - self.Phone[index] = value - def has__content(self): - if ( - self.Phone - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhonesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Phone_ in self.Phone: - namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' - Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Phone': - obj_ = PhoneType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phone.append(obj_) - obj_.original_tagname_ = 'Phone' -# end class PhonesType - - -class PhoneType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhoneType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhoneType.subclass: - return PhoneType.subclass(*args_, **kwargs_) - else: - return PhoneType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_PhoneNumberType252(self, value): - # Validate type PhoneNumberType252, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType252_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType252_patterns_, )) - validate_PhoneNumberType252_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhoneType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType252(self.PhoneNumber) # validate type PhoneNumberType252 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PhoneType - - -class EmailsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Email is None: - self.Email = [] - else: - self.Email = Email - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailsType.subclass: - return EmailsType.subclass(*args_, **kwargs_) - else: - return EmailsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def add_Email(self, value): - self.Email.append(value) - def insert_Email_at(self, index, value): - self.Email.insert(index, value) - def replace_Email_at(self, index, value): - self.Email[index] = value - def has__content(self): - if ( - self.Email - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Email_ in self.Email: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Email': - obj_ = EmailType253.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email.append(obj_) - obj_.original_tagname_ = 'Email' -# end class EmailsType - - -class EmailType253(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmailType = _cast(None, EmailType) - self.EmailType_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType253) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType253.subclass: - return EmailType253.subclass(*args_, **kwargs_) - else: - return EmailType253(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmailType(self): - return self.EmailType - def set_EmailType(self, EmailType): - self.EmailType = EmailType - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType253', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType253') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType253': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType253') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType253'): - if self.EmailType is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType253', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmailType', node) - if value is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - self.EmailType = value - self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType253 - - -class URLsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLsType.subclass: - return URLsType.subclass(*args_, **kwargs_) - else: - return URLsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def has__content(self): - if ( - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - obj_ = URLType254.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URL.append(obj_) - obj_.original_tagname_ = 'URL' -# end class URLsType - - -class URLType254(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType254) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType254.subclass: - return URLType254.subclass(*args_, **kwargs_) - else: - return URLType254(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_uppercase_string(self, value): - # Validate type def_uppercase_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_uppercase_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) - validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType254', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType254') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType254': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType254') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType254'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType254', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType254 - - -class CompanyNameType255(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType255) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType255.subclass: - return CompanyNameType255.subclass(*args_, **kwargs_) - else: - return CompanyNameType255(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_any_string(self, value): - result = True - # Validate type def_any_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType255', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType255') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType255': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType255') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType255'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType255', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType255 - - -class ErrorType258(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType258) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType258.subclass: - return ErrorType258.subclass(*args_, **kwargs_) - else: - return ErrorType258(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType259(self, value): - # Validate type TypeType259, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType259' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType258', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType258') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType258': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType258') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType258'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType258', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType259(self.Type) # validate type TypeType259 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType258 - - -class WarningType261(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType261) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType261.subclass: - return WarningType261.subclass(*args_, **kwargs_) - else: - return WarningType261(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType261', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType261') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType261': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType261') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType261'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType261', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType261 - - -class HotelDescriptiveInfosType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelDescriptiveInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelDescriptiveInfo = HotelDescriptiveInfo - self.HotelDescriptiveInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveInfosType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveInfosType.subclass: - return HotelDescriptiveInfosType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveInfosType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveInfo(self): - return self.HotelDescriptiveInfo - def set_HotelDescriptiveInfo(self, HotelDescriptiveInfo): - self.HotelDescriptiveInfo = HotelDescriptiveInfo - def has__content(self): - if ( - self.HotelDescriptiveInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveInfosType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveInfosType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveInfosType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveInfosType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveInfosType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveInfosType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveInfosType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveInfo is not None: - namespaceprefix_ = self.HotelDescriptiveInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveInfo_nsprefix_) else '' - self.HotelDescriptiveInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveInfo': - obj_ = HotelDescriptiveInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveInfo = obj_ - obj_.original_tagname_ = 'HotelDescriptiveInfo' -# end class HotelDescriptiveInfosType - - -class HotelDescriptiveInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveInfoType.subclass: - return HotelDescriptiveInfoType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelDescriptiveInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveInfoType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelDescriptiveInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelDescriptiveInfoType - - -class ErrorType263(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType263) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType263.subclass: - return ErrorType263.subclass(*args_, **kwargs_) - else: - return ErrorType263(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType264(self, value): - # Validate type TypeType264, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType264' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType263', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType263') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType263': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType263') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType263'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType263', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType264(self.Type) # validate type TypeType264 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType263 - - -class WarningType266(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType266) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType266.subclass: - return WarningType266.subclass(*args_, **kwargs_) - else: - return WarningType266(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType266', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType266') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType266': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType266') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType266'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType266', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType266 - - -class MultimediaDescriptionType274(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - self.VideoItems = VideoItems - self.VideoItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType274) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType274.subclass: - return MultimediaDescriptionType274.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType274(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_VideoItems(self): - return self.VideoItems - def set_VideoItems(self, VideoItems): - self.VideoItems = VideoItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType297(self, value): - # Validate type InfoCodeType297, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 17, 23, 24] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType297' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType297_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType297_patterns_, )) - validate_InfoCodeType297_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None or - self.VideoItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType274', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType274') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType274': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType274') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType274', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType274'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType274', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - if self.VideoItems is not None: - namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' - self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType297(self.InfoCode) # validate type InfoCodeType297 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType275.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType280.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' - elif nodeName_ == 'VideoItems': - obj_ = VideoItemsType289.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItems = obj_ - obj_.original_tagname_ = 'VideoItems' -# end class MultimediaDescriptionType274 - - -class TextItemsType275(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if TextItem is None: - self.TextItem = [] - else: - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType275) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType275.subclass: - return TextItemsType275.subclass(*args_, **kwargs_) - else: - return TextItemsType275(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def add_TextItem(self, value): - self.TextItem.append(value) - def insert_TextItem_at(self, index, value): - self.TextItem.insert(index, value) - def replace_TextItem_at(self, index, value): - self.TextItem[index] = value - def has__content(self): - if ( - self.TextItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType275', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType275') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType275': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType275') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType275', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType275'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType275', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for TextItem_ in self.TextItem: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType276.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem.append(obj_) - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType275 - - -class TextItemType276(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType276) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType276.subclass: - return TextItemType276.subclass(*args_, **kwargs_) - else: - return TextItemType276(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType276', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType276') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType276': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType276') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType276', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType276'): - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType276', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType277.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType276 - - -class DescriptionType277(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType277) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType277.subclass: - return DescriptionType277.subclass(*args_, **kwargs_) - else: - return DescriptionType277(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType278(self, value): - # Validate type TextFormatType278, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType278' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType279(self, value): - # Validate type LanguageType279, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType279_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType279_patterns_, )) - validate_LanguageType279_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType277', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType277') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType277': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType277') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType277'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType277', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType278(self.TextFormat) # validate type TextFormatType278 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType279(self.Language) # validate type LanguageType279 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType277 - - -class ImageItemType281(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType281) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType281.subclass: - return ImageItemType281.subclass(*args_, **kwargs_) - else: - return ImageItemType281(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType288(self, value): - # Validate type CategoryType288, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 15, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType288' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType288_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType288_patterns_, )) - validate_CategoryType288_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType281', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType281') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType281': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType281') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType281', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType281'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType281', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType288(self.Category) # validate type CategoryType288 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType282.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType285.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType281 - - -class ImageFormatType282(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.ApplicableEnd = _cast(None, ApplicableEnd) - self.ApplicableEnd_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType282) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType282.subclass: - return ImageFormatType282.subclass(*args_, **kwargs_) - else: - return ImageFormatType282(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def get_ApplicableEnd(self): - return self.ApplicableEnd - def set_ApplicableEnd(self, ApplicableEnd): - self.ApplicableEnd = ApplicableEnd - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType283(self, value): - # Validate type ApplicableStartType283, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType283_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType283_patterns_, )) - validate_ApplicableStartType283_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def validate_ApplicableEndType284(self, value): - # Validate type ApplicableEndType284, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableEndType284_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType284_patterns_, )) - validate_ApplicableEndType284_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType282', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType282') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType282': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType282') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType282', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType282'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType282', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType283(self.ApplicableStart) # validate type ApplicableStartType283 - value = find_attr_value_('ApplicableEnd', node) - if value is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - self.ApplicableEnd = value - self.validate_ApplicableEndType284(self.ApplicableEnd) # validate type ApplicableEndType284 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType282 - - -class DescriptionType285(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType285) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType285.subclass: - return DescriptionType285.subclass(*args_, **kwargs_) - else: - return DescriptionType285(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType286(self, value): - # Validate type TextFormatType286, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType286' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType287(self, value): - # Validate type LanguageType287, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType287_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType287_patterns_, )) - validate_LanguageType287_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType285', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType285') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType285': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType285') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType285'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType285', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType286(self.TextFormat) # validate type TextFormatType286 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType287(self.Language) # validate type LanguageType287 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType285 - - -class VideoItemType290(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.VideoFormat = VideoFormat - self.VideoFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemType290) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemType290.subclass: - return VideoItemType290.subclass(*args_, **kwargs_) - else: - return VideoItemType290(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoFormat(self): - return self.VideoFormat - def set_VideoFormat(self, VideoFormat): - self.VideoFormat = VideoFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType296(self, value): - # Validate type CategoryType296, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 20, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType296' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType296_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType296_patterns_, )) - validate_CategoryType296_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.VideoFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType290', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType290') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemType290': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType290') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType290', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType290'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType290', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.VideoFormat is not None: - namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' - self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType296(self.Category) # validate type CategoryType296 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoFormat': - obj_ = VideoFormatType291.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoFormat = obj_ - obj_.original_tagname_ = 'VideoFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType293.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class VideoItemType290 - - -class VideoFormatType291(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoFormatType291) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoFormatType291.subclass: - return VideoFormatType291.subclass(*args_, **kwargs_) - else: - return VideoFormatType291(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType292(self, value): - # Validate type ApplicableStartType292, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType292_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType292_patterns_, )) - validate_ApplicableStartType292_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType291', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType291') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoFormatType291': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType291') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType291', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType291'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType291', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType292(self.ApplicableStart) # validate type ApplicableStartType292 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class VideoFormatType291 - - -class DescriptionType293(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType293) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType293.subclass: - return DescriptionType293.subclass(*args_, **kwargs_) - else: - return DescriptionType293(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType294(self, value): - # Validate type TextFormatType294, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType294' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType295(self, value): - # Validate type LanguageType295, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType295_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType295_patterns_, )) - validate_LanguageType295_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType293', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType293') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType293': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType293') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType293'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType293', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType294(self.TextFormat) # validate type TextFormatType294 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType295(self.Language) # validate type LanguageType295 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType293 - - -class PositionType298(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Altitude = _cast(float, Altitude) - self.Altitude_nsprefix_ = None - self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) - self.AltitudeUnitOfMeasureCode_nsprefix_ = None - self.Latitude = _cast(float, Latitude) - self.Latitude_nsprefix_ = None - self.Longitude = _cast(float, Longitude) - self.Longitude_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PositionType298) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PositionType298.subclass: - return PositionType298.subclass(*args_, **kwargs_) - else: - return PositionType298(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Altitude(self): - return self.Altitude - def set_Altitude(self, Altitude): - self.Altitude = Altitude - def get_AltitudeUnitOfMeasureCode(self): - return self.AltitudeUnitOfMeasureCode - def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): - self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode - def get_Latitude(self): - return self.Latitude - def set_Latitude(self, Latitude): - self.Latitude = Latitude - def get_Longitude(self): - return self.Longitude - def set_Longitude(self, Longitude): - self.Longitude = Longitude - def validate_AltitudeUnitOfMeasureCodeType299(self, value): - # Validate type AltitudeUnitOfMeasureCodeType299, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType299' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType298', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType298') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PositionType298': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType298') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType298', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType298'): - if self.Altitude is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) - if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) - if self.Latitude is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) - if self.Longitude is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType298', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Altitude', node) - if value is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - value = self.gds_parse_decimal(value, node, 'Altitude') - self.Altitude = value - value = find_attr_value_('AltitudeUnitOfMeasureCode', node) - if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - self.AltitudeUnitOfMeasureCode = value - self.validate_AltitudeUnitOfMeasureCodeType299(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType299 - value = find_attr_value_('Latitude', node) - if value is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - value = self.gds_parse_decimal(value, node, 'Latitude') - self.Latitude = value - value = find_attr_value_('Longitude', node) - if value is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - value = self.gds_parse_decimal(value, node, 'Longitude') - self.Longitude = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PositionType298 - - -class ServiceType301(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MealPlanCode = _cast(None, MealPlanCode) - self.MealPlanCode_nsprefix_ = None - self.ProximityCode = _cast(int, ProximityCode) - self.ProximityCode_nsprefix_ = None - self.Included = _cast(bool, Included) - self.Included_nsprefix_ = None - self.Features = Features - self.Features_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType301) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType301.subclass: - return ServiceType301.subclass(*args_, **kwargs_) - else: - return ServiceType301(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Features(self): - return self.Features - def set_Features(self, Features): - self.Features = Features - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MealPlanCode(self): - return self.MealPlanCode - def set_MealPlanCode(self, MealPlanCode): - self.MealPlanCode = MealPlanCode - def get_ProximityCode(self): - return self.ProximityCode - def set_ProximityCode(self, ProximityCode): - self.ProximityCode = ProximityCode - def get_Included(self): - return self.Included - def set_Included(self, Included): - self.Included = Included - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def validate_MealPlanCodeType304(self, value): - # Validate type MealPlanCodeType304, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType304' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.Features is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType301', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType301') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType301': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType301') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType301', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType301'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) - if self.ProximityCode is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) - if self.Included is not None and 'Included' not in already_processed: - already_processed.add('Included') - outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType301', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Features is not None: - namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' - self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code - value = find_attr_value_('MealPlanCode', node) - if value is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - self.MealPlanCode = value - self.validate_MealPlanCodeType304(self.MealPlanCode) # validate type MealPlanCodeType304 - value = find_attr_value_('ProximityCode', node) - if value is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') - if self.ProximityCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 - value = find_attr_value_('Included', node) - if value is not None and 'Included' not in already_processed: - already_processed.add('Included') - if value in ('true', '1'): - self.Included = True - elif value in ('false', '0'): - self.Included = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Included) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Features': - obj_ = FeaturesType302.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Features = obj_ - obj_.original_tagname_ = 'Features' -# end class ServiceType301 - - -class TypeRoomType308(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StandardOccupancy = _cast(int, StandardOccupancy) - self.StandardOccupancy_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomID = _cast(None, RoomID) - self.RoomID_nsprefix_ = None - self.Size = _cast(int, Size) - self.Size_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TypeRoomType308) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TypeRoomType308.subclass: - return TypeRoomType308.subclass(*args_, **kwargs_) - else: - return TypeRoomType308(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StandardOccupancy(self): - return self.StandardOccupancy - def set_StandardOccupancy(self, StandardOccupancy): - self.StandardOccupancy = StandardOccupancy - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomID(self): - return self.RoomID - def set_RoomID(self, RoomID): - self.RoomID = RoomID - def get_Size(self): - return self.Size - def set_Size(self, Size): - self.Size = Size - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RoomTypeType309(self, value): - # Validate type RoomTypeType309, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType309' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType308', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType308') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TypeRoomType308': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType308') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType308', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType308'): - if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomID is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) - if self.Size is not None and 'Size' not in already_processed: - already_processed.add('Size') - outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType308', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StandardOccupancy', node) - if value is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') - if self.StandardOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomID', node) - if value is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - self.RoomID = value - self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 - value = find_attr_value_('Size', node) - if value is not None and 'Size' not in already_processed: - already_processed.add('Size') - self.Size = self.gds_parse_integer(value, node, 'Size') - if self.Size < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType309(self.RoomType) # validate type RoomTypeType309 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TypeRoomType308 - - -class MultimediaDescriptionType313(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType313) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType313.subclass: - return MultimediaDescriptionType313.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType313(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType325(self, value): - # Validate type InfoCodeType325, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 23, 25] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType325' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType325_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType325_patterns_, )) - validate_InfoCodeType325_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType313', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType313') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType313': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType313') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType313', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType313'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType313', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType325(self.InfoCode) # validate type InfoCodeType325 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType314.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType319.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' -# end class MultimediaDescriptionType313 - - -class TextItemsType314(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType314) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType314.subclass: - return TextItemsType314.subclass(*args_, **kwargs_) - else: - return TextItemsType314(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def has__content(self): - if ( - self.TextItem is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType314', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType314') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType314': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType314') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType314', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType314'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType314', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItem is not None: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType315.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem = obj_ - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType314 - - -class TextItemType315(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType315) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType315.subclass: - return TextItemType315.subclass(*args_, **kwargs_) - else: - return TextItemType315(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType315', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType315') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType315': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType315') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType315', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType315'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType315', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType316.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType315 - - -class DescriptionType316(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType316) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType316.subclass: - return DescriptionType316.subclass(*args_, **kwargs_) - else: - return DescriptionType316(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType317(self, value): - # Validate type TextFormatType317, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType317' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType318(self, value): - # Validate type LanguageType318, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType318_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType318_patterns_, )) - validate_LanguageType318_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType316', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType316') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType316': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType316') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType316'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType316', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType317(self.TextFormat) # validate type TextFormatType317 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType318(self.Language) # validate type LanguageType318 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType316 - - -class ImageItemType320(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType320) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType320.subclass: - return ImageItemType320.subclass(*args_, **kwargs_) - else: - return ImageItemType320(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType320', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType320') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType320': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType320') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType320', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType320'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType320', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType321.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType322.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType320 - - -class ImageFormatType321(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType321) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType321.subclass: - return ImageFormatType321.subclass(*args_, **kwargs_) - else: - return ImageFormatType321(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType321', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType321') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType321': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType321') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType321', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType321'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType321', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType321 - - -class DescriptionType322(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType322) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType322.subclass: - return DescriptionType322.subclass(*args_, **kwargs_) - else: - return DescriptionType322(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType323(self, value): - # Validate type TextFormatType323, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType323' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType324(self, value): - # Validate type LanguageType324, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType324_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType324_patterns_, )) - validate_LanguageType324_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType322', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType322') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType322': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType322') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType322'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType322', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType323(self.TextFormat) # validate type TextFormatType323 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType324(self.Language) # validate type LanguageType324 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType322 - - -class PenaltyDescriptionType330(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType330) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType330.subclass: - return PenaltyDescriptionType330.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType330(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType330', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType330') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType330': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType330') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType330', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType330'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType330', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType331.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class PenaltyDescriptionType330 - - -class TextType331(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType331) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType331.subclass: - return TextType331.subclass(*args_, **kwargs_) - else: - return TextType331(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType332(self, value): - # Validate type TextFormatType332, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType332' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType333(self, value): - # Validate type LanguageType333, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType333_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType333_patterns_, )) - validate_LanguageType333_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType331', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType331') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType331': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType331') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType331'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType331', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType332(self.TextFormat) # validate type TextFormatType332 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType333(self.Language) # validate type LanguageType333 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType331 - - -class DescriptionType336(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType336) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType336.subclass: - return DescriptionType336.subclass(*args_, **kwargs_) - else: - return DescriptionType336(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType336', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType336') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType336': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType336') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType336', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType336'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType336', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType337.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType336 - - -class TextType337(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType337) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType337.subclass: - return TextType337.subclass(*args_, **kwargs_) - else: - return TextType337(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType338(self, value): - # Validate type TextFormatType338, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType338' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType339(self, value): - # Validate type LanguageType339, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType339_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType339_patterns_, )) - validate_LanguageType339_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType337', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType337') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType337': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType337') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType337'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType337', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType338(self.TextFormat) # validate type TextFormatType338 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType339(self.Language) # validate type LanguageType339 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType337 - - -class DescriptionType342(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType342) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType342.subclass: - return DescriptionType342.subclass(*args_, **kwargs_) - else: - return DescriptionType342(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType342', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType342') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType342': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType342') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType342', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType342'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType342', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType343.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType342 - - -class TextType343(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType343) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType343.subclass: - return TextType343.subclass(*args_, **kwargs_) - else: - return TextType343(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType344(self, value): - # Validate type TextFormatType344, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType344' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType345(self, value): - # Validate type LanguageType345, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType345_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType345_patterns_, )) - validate_LanguageType345_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType343', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType343') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType343': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType343') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType343'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType343', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType344(self.TextFormat) # validate type TextFormatType344 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType345(self.Language) # validate type LanguageType345 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType343 - - -class TaxPolicyType347(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.ChargeFrequency = _cast(None, ChargeFrequency) - self.ChargeFrequency_nsprefix_ = None - self.ChargeUnit = _cast(None, ChargeUnit) - self.ChargeUnit_nsprefix_ = None - self.TaxDescription = TaxDescription - self.TaxDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPolicyType347) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPolicyType347.subclass: - return TaxPolicyType347.subclass(*args_, **kwargs_) - else: - return TaxPolicyType347(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxDescription(self): - return self.TaxDescription - def set_TaxDescription(self, TaxDescription): - self.TaxDescription = TaxDescription - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_ChargeFrequency(self): - return self.ChargeFrequency - def set_ChargeFrequency(self, ChargeFrequency): - self.ChargeFrequency = ChargeFrequency - def get_ChargeUnit(self): - return self.ChargeUnit - def set_ChargeUnit(self, ChargeUnit): - self.ChargeUnit = ChargeUnit - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_CodeType352(self, value): - # Validate type CodeType352, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType352' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeFrequencyType353(self, value): - # Validate type ChargeFrequencyType353, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType353' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeUnitType354(self, value): - # Validate type ChargeUnitType354, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['21'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType354' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.TaxDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType347', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType347') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPolicyType347': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType347') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType347', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType347'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) - if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType347', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxDescription is not None: - namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' - self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType352(self.Code) # validate type CodeType352 - value = find_attr_value_('ChargeFrequency', node) - if value is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - self.ChargeFrequency = value - self.validate_ChargeFrequencyType353(self.ChargeFrequency) # validate type ChargeFrequencyType353 - value = find_attr_value_('ChargeUnit', node) - if value is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - self.ChargeUnit = value - self.validate_ChargeUnitType354(self.ChargeUnit) # validate type ChargeUnitType354 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxDescription': - obj_ = TaxDescriptionType348.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxDescription = obj_ - obj_.original_tagname_ = 'TaxDescription' -# end class TaxPolicyType347 - - -class TextType349(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType349) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType349.subclass: - return TextType349.subclass(*args_, **kwargs_) - else: - return TextType349(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType350(self, value): - # Validate type TextFormatType350, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType350' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType351(self, value): - # Validate type LanguageType351, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType351_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType351_patterns_, )) - validate_LanguageType351_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType349', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType349') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType349': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType349') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType349'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType349', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType350(self.TextFormat) # validate type TextFormatType350 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType351(self.Language) # validate type LanguageType351 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType349 - - -class GuaranteePaymentType356(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - self.Deadline = Deadline - self.Deadline_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType356) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType356.subclass: - return GuaranteePaymentType356.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType356(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Deadline(self): - return self.Deadline - def set_Deadline(self, Deadline): - self.Deadline = Deadline - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None or - self.Deadline is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType356', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType356') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType356': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType356') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType356', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType356'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType356', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - if self.Deadline is not None: - namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' - self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType357.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType368.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' - elif nodeName_ == 'Deadline': - obj_ = DeadlineType369.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Deadline = obj_ - obj_.original_tagname_ = 'Deadline' -# end class GuaranteePaymentType356 - - -class AcceptedPaymentsType357(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AcceptedPayment is None: - self.AcceptedPayment = [] - else: - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType357) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType357.subclass: - return AcceptedPaymentsType357.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType357(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def add_AcceptedPayment(self, value): - self.AcceptedPayment.append(value) - def insert_AcceptedPayment_at(self, index, value): - self.AcceptedPayment.insert(index, value) - def replace_AcceptedPayment_at(self, index, value): - self.AcceptedPayment[index] = value - def has__content(self): - if ( - self.AcceptedPayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType357', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType357') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType357': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType357') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType357', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType357'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType357', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AcceptedPayment_ in self.AcceptedPayment: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType358.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment.append(obj_) - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType357 - - -class AcceptedPaymentType358(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Cash = Cash - self.Cash_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType358) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType358.subclass: - return AcceptedPaymentType358.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType358(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Cash(self): - return self.Cash - def set_Cash(self, Cash): - self.Cash = Cash - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.BankAcct is not None or - self.Cash is not None or - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType358', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType358') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType358': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType358') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType358', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType358'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType358', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Cash is not None: - namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' - self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcct': - obj_ = BankAcctType359.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Cash': - obj_ = CashType365.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Cash = obj_ - obj_.original_tagname_ = 'Cash' - elif nodeName_ == 'PaymentCard': - obj_ = PaymentCardType366.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class AcceptedPaymentType358 - - -class BankAcctType359(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - self.BankID = BankID - self.BankID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType359) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType359.subclass: - return BankAcctType359.subclass(*args_, **kwargs_) - else: - return BankAcctType359(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def get_BankID(self): - return self.BankID - def set_BankID(self, BankID): - self.BankID = BankID - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None or - self.BankID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType359', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType359') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType359': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType359') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType359', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType359'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType359', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - if self.BankID is not None: - namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' - self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - obj_ = BankAcctNameType360.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctName = obj_ - obj_.original_tagname_ = 'BankAcctName' - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType361.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' - elif nodeName_ == 'BankID': - obj_ = BankIDType363.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankID = obj_ - obj_.original_tagname_ = 'BankID' -# end class BankAcctType359 - - -class BankAcctNumberType361(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType361) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType361.subclass: - return BankAcctNumberType361.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType361(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType361', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType361') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType361': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType361') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType361', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType361'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType361', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType362.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankAcctNumberType361 - - -class PaymentCardType366(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.CardType = CardType - self.CardType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType366) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType366.subclass: - return PaymentCardType366.subclass(*args_, **kwargs_) - else: - return PaymentCardType366(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardType(self): - return self.CardType - def set_CardType(self, CardType): - self.CardType = CardType - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CardType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType366', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType366') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType366': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType366') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType366', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType366'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType366', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardType is not None: - namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' - self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardType': - obj_ = CardTypeType367.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardType = obj_ - obj_.original_tagname_ = 'CardType' -# end class PaymentCardType366 - - -class AmountPercentType368(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(float, Percent) - self.Percent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType368) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType368.subclass: - return AmountPercentType368.subclass(*args_, **kwargs_) - else: - return AmountPercentType368(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType368', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType368') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType368': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType368') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType368', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType368'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType368', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - value = self.gds_parse_decimal(value, node, 'Percent') - self.Percent = value - self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType368 - - -class StayRequirementType372(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StayContext = _cast(None, StayContext) - self.StayContext_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementType372) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementType372.subclass: - return StayRequirementType372.subclass(*args_, **kwargs_) - else: - return StayRequirementType372(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayContext(self): - return self.StayContext - def set_StayContext(self, StayContext): - self.StayContext = StayContext - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_StayContextType373(self, value): - # Validate type StayContextType373, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Checkin', 'Checkout'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType373' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StartType374(self, value): - # Validate type StartType374, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_StartType374_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType374_patterns_, )) - validate_StartType374_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def validate_EndType375(self, value): - # Validate type EndType375, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_EndType375_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType375_patterns_, )) - validate_EndType375_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType372', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType372') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementType372': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType372') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType372', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType372'): - if self.StayContext is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType372', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StayContext', node) - if value is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - self.StayContext = value - self.validate_StayContextType373(self.StayContext) # validate type StayContextType373 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_StartType374(self.Start) # validate type StartType374 - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_EndType375(self.End) # validate type EndType375 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StayRequirementType372 - - -class ContactInfoType380(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = _cast(None, Location) - self.Location_nsprefix_ = None - self.Addresses = Addresses - self.Addresses_nsprefix_ = None - self.Phones = Phones - self.Phones_nsprefix_ = None - self.Emails = Emails - self.Emails_nsprefix_ = None - self.URLs = URLs - self.URLs_nsprefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfoType380) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfoType380.subclass: - return ContactInfoType380.subclass(*args_, **kwargs_) - else: - return ContactInfoType380(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Addresses(self): - return self.Addresses - def set_Addresses(self, Addresses): - self.Addresses = Addresses - def get_Phones(self): - return self.Phones - def set_Phones(self, Phones): - self.Phones = Phones - def get_Emails(self): - return self.Emails - def set_Emails(self, Emails): - self.Emails = Emails - def get_URLs(self): - return self.URLs - def set_URLs(self, URLs): - self.URLs = URLs - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def validate_LocationType395(self, value): - # Validate type LocationType395, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['6'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType395' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Addresses is not None or - self.Phones is not None or - self.Emails is not None or - self.URLs is not None or - self.CompanyName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType380', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType380') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfoType380': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType380') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType380', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType380'): - if self.Location is not None and 'Location' not in already_processed: - already_processed.add('Location') - outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType380', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Addresses is not None: - namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' - self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) - if self.Phones is not None: - namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' - self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) - if self.Emails is not None: - namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' - self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) - if self.URLs is not None: - namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' - self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Location', node) - if value is not None and 'Location' not in already_processed: - already_processed.add('Location') - self.Location = value - self.validate_LocationType395(self.Location) # validate type LocationType395 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Addresses': - obj_ = AddressesType381.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Addresses = obj_ - obj_.original_tagname_ = 'Addresses' - elif nodeName_ == 'Phones': - obj_ = PhonesType387.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phones = obj_ - obj_.original_tagname_ = 'Phones' - elif nodeName_ == 'Emails': - obj_ = EmailsType390.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Emails = obj_ - obj_.original_tagname_ = 'Emails' - elif nodeName_ == 'URLs': - obj_ = URLsType392.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URLs = obj_ - obj_.original_tagname_ = 'URLs' - elif nodeName_ == 'CompanyName': - obj_ = CompanyNameType394.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' -# end class ContactInfoType380 - - -class AddressType382(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.StateProv = StateProv - self.StateProv_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType382) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType382.subclass: - return AddressType382.subclass(*args_, **kwargs_) - else: - return AddressType382(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_StateProv(self): - return self.StateProv - def set_StateProv(self, StateProv): - self.StateProv = StateProv - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType386(self, value): - # Validate type LanguageType386, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType386_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType386_patterns_, )) - validate_LanguageType386_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.StateProv is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType382', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType382') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType382': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType382') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType382', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType382'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType382', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.StateProv is not None: - namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' - self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType386(self.Language) # validate type LanguageType386 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'StateProv': - obj_ = StateProvType383.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StateProv = obj_ - obj_.original_tagname_ = 'StateProv' - elif nodeName_ == 'CountryName': - obj_ = CountryNameType384.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType382 - - -class CountryNameType384(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType384) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType384.subclass: - return CountryNameType384.subclass(*args_, **kwargs_) - else: - return CountryNameType384(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType385(self, value): - # Validate type CodeType385, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType385_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType385_patterns_, )) - validate_CodeType385_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType384', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType384') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType384': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType384') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType384', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType384'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType384', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType385(self.Code) # validate type CodeType385 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType384 - - -class PhoneType388(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhoneType388) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhoneType388.subclass: - return PhoneType388.subclass(*args_, **kwargs_) - else: - return PhoneType388(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_PhoneNumberType389(self, value): - # Validate type PhoneNumberType389, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType389_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType389_patterns_, )) - validate_PhoneNumberType389_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType388', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType388') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhoneType388': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType388') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType388', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType388'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType388', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType389(self.PhoneNumber) # validate type PhoneNumberType389 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PhoneType388 - - -class EmailType391(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmailType = _cast(None, EmailType) - self.EmailType_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType391) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType391.subclass: - return EmailType391.subclass(*args_, **kwargs_) - else: - return EmailType391(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmailType(self): - return self.EmailType - def set_EmailType(self, EmailType): - self.EmailType = EmailType - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType391', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType391') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType391': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType391') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType391'): - if self.EmailType is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType391', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmailType', node) - if value is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - self.EmailType = value - self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType391 - - -class URLType393(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType393) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType393.subclass: - return URLType393.subclass(*args_, **kwargs_) - else: - return URLType393(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_uppercase_string(self, value): - # Validate type def_uppercase_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_uppercase_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) - validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType393', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType393') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType393': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType393') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType393'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType393', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType393 - - -class CompanyNameType394(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType394) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType394.subclass: - return CompanyNameType394.subclass(*args_, **kwargs_) - else: - return CompanyNameType394(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_any_string(self, value): - result = True - # Validate type def_any_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType394', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType394') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType394': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType394') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType394'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType394', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType394 - - -class UniqueIDType396(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, Instance=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Instance = _cast(None, Instance) - self.Instance_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType396) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType396.subclass: - return UniqueIDType396.subclass(*args_, **kwargs_) - else: - return UniqueIDType396(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Instance(self): - return self.Instance - def set_Instance(self, Instance): - self.Instance = Instance - def validate_TypeType397(self, value): - # Validate type TypeType397, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType397' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InstanceType398(self, value): - # Validate type InstanceType398, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['CompleteSet'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InstanceType398' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType396', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType396') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType396': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType396') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType396', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType396'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Instance is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - outfile.write(' Instance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Instance), input_name='Instance')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType396', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType397(self.Type) # validate type TypeType397 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - value = find_attr_value_('Instance', node) - if value is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - self.Instance = value - self.validate_InstanceType398(self.Instance) # validate type InstanceType398 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType396 - - -class RatePlansType399(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if RatePlan is None: - self.RatePlan = [] - else: - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType399) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType399.subclass: - return RatePlansType399.subclass(*args_, **kwargs_) - else: - return RatePlansType399(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def add_RatePlan(self, value): - self.RatePlan.append(value) - def insert_RatePlan_at(self, index, value): - self.RatePlan.insert(index, value) - def replace_RatePlan_at(self, index, value): - self.RatePlan[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RatePlan - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType399', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType399') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType399': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType399') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType399', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType399'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType399', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlan_ in self.RatePlan: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType400.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan.append(obj_) - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType399 - - -class RatePlanType400(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RatePlanNotifType = _cast(None, RatePlanNotifType) - self.RatePlanNotifType_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanType = _cast(None, RatePlanType) - self.RatePlanType_nsprefix_ = None - self.RatePlanCategory = _cast(None, RatePlanCategory) - self.RatePlanCategory_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - self.RatePlanQualifier = _cast(bool, RatePlanQualifier) - self.RatePlanQualifier_nsprefix_ = None - self.BookingRules = BookingRules - self.BookingRules_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - self.Supplements = Supplements - self.Supplements_nsprefix_ = None - self.Offers = Offers - self.Offers_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType400) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType400.subclass: - return RatePlanType400.subclass(*args_, **kwargs_) - else: - return RatePlanType400(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRules(self): - return self.BookingRules - def set_BookingRules(self, BookingRules): - self.BookingRules = BookingRules - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_Supplements(self): - return self.Supplements - def set_Supplements(self, Supplements): - self.Supplements = Supplements - def get_Offers(self): - return self.Offers - def set_Offers(self, Offers): - self.Offers = Offers - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RatePlanNotifType(self): - return self.RatePlanNotifType - def set_RatePlanNotifType(self, RatePlanNotifType): - self.RatePlanNotifType = RatePlanNotifType - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanType(self): - return self.RatePlanType - def set_RatePlanType(self, RatePlanType): - self.RatePlanType = RatePlanType - def get_RatePlanCategory(self): - return self.RatePlanCategory - def set_RatePlanCategory(self, RatePlanCategory): - self.RatePlanCategory = RatePlanCategory - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def get_RatePlanQualifier(self): - return self.RatePlanQualifier - def set_RatePlanQualifier(self, RatePlanQualifier): - self.RatePlanQualifier = RatePlanQualifier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RatePlanNotifTypeType(self, value): - # Validate type RatePlanNotifTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Overlay', 'New', 'Full', 'Remove'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RatePlanTypeType(self, value): - # Validate type RatePlanTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.BookingRules is not None or - self.Rates is not None or - self.Supplements is not None or - self.Offers is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType400', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType400') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType400': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType400') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType400', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType400'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanType is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) - if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType400', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BookingRules is not None: - namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' - self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - if self.Supplements is not None: - namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' - self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) - if self.Offers is not None: - namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' - self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RatePlanNotifType', node) - if value is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - self.RatePlanNotifType = value - self.validate_RatePlanNotifTypeType(self.RatePlanNotifType) # validate type RatePlanNotifTypeType - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanType', node) - if value is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - self.RatePlanType = value - self.validate_RatePlanTypeType(self.RatePlanType) # validate type RatePlanTypeType - value = find_attr_value_('RatePlanCategory', node) - if value is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - self.RatePlanCategory = value - self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - value = find_attr_value_('RatePlanQualifier', node) - if value is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - if value in ('true', '1'): - self.RatePlanQualifier = True - elif value in ('false', '0'): - self.RatePlanQualifier = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRules': - obj_ = BookingRulesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRules = obj_ - obj_.original_tagname_ = 'BookingRules' - elif nodeName_ == 'Rates': - obj_ = RatesType404.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' - elif nodeName_ == 'Supplements': - obj_ = SupplementsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplements = obj_ - obj_.original_tagname_ = 'Supplements' - elif nodeName_ == 'Offers': - obj_ = OffersType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offers = obj_ - obj_.original_tagname_ = 'Offers' - elif nodeName_ == 'Description': - obj_ = DescriptionType428.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class RatePlanType400 - - -class BookingRulesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BookingRule is None: - self.BookingRule = [] - else: - self.BookingRule = BookingRule - self.BookingRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRulesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRulesType.subclass: - return BookingRulesType.subclass(*args_, **kwargs_) - else: - return BookingRulesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRule(self): - return self.BookingRule - def set_BookingRule(self, BookingRule): - self.BookingRule = BookingRule - def add_BookingRule(self, value): - self.BookingRule.append(value) - def insert_BookingRule_at(self, index, value): - self.BookingRule.insert(index, value) - def replace_BookingRule_at(self, index, value): - self.BookingRule[index] = value - def has__content(self): - if ( - self.BookingRule - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRulesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BookingRule_ in self.BookingRule: - namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' - BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRule': - obj_ = BookingRuleType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRule.append(obj_) - obj_.original_tagname_ = 'BookingRule' -# end class BookingRulesType - - -class BookingRuleType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - self.RestrictionStatus = RestrictionStatus - self.RestrictionStatus_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRuleType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRuleType.subclass: - return BookingRuleType.subclass(*args_, **kwargs_) - else: - return BookingRuleType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_RestrictionStatus(self): - return self.RestrictionStatus - def set_RestrictionStatus(self, RestrictionStatus): - self.RestrictionStatus = RestrictionStatus - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_CodeContextType403(self, value): - # Validate type CodeContextType403, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType403' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.RestrictionStatus is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRuleType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType'): - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - if self.RestrictionStatus is not None: - namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' - self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType403(self.CodeContext) # validate type CodeContextType403 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'RestrictionStatus': - obj_ = RestrictionStatusType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RestrictionStatus = obj_ - obj_.original_tagname_ = 'RestrictionStatus' -# end class BookingRuleType - - -class LengthsOfStayType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType.subclass: - return LengthsOfStayType.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType - - -class LengthOfStayType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType.subclass: - return LengthOfStayType.subclass(*args_, **kwargs_) - else: - return LengthOfStayType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType401(self, value): - # Validate type TimeUnitType401, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType401' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType(self, value): - # Validate type MinMaxMessageTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType401(self.TimeUnit) # validate type TimeUnitType401 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType(self.MinMaxMessageType) # validate type MinMaxMessageTypeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType - - -class DOW_RestrictionsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType.subclass: - return DOW_RestrictionsType.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType - - -class ArrivalDaysOfWeekType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType.subclass: - return ArrivalDaysOfWeekType.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType - - -class DepartureDaysOfWeekType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType.subclass: - return DepartureDaysOfWeekType.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType - - -class RestrictionStatusType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Restriction = _cast(None, Restriction) - self.Restriction_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RestrictionStatusType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RestrictionStatusType.subclass: - return RestrictionStatusType.subclass(*args_, **kwargs_) - else: - return RestrictionStatusType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Restriction(self): - return self.Restriction - def set_Restriction(self, Restriction): - self.Restriction = Restriction - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def validate_RestrictionType(self, value): - # Validate type RestrictionType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Master'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StatusType402(self, value): - # Validate type StatusType402, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Open', 'Close'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType402' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RestrictionStatusType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType'): - if self.Restriction is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Restriction', node) - if value is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - self.Restriction = value - self.validate_RestrictionType(self.Restriction) # validate type RestrictionType - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType402(self.Status) # validate type StatusType402 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RestrictionStatusType - - -class RateType405(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestApplicable = _cast(int, MinGuestApplicable) - self.MinGuestApplicable_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.BaseByGuestAmts = BaseByGuestAmts - self.BaseByGuestAmts_nsprefix_ = None - self.AdditionalGuestAmounts = AdditionalGuestAmounts - self.AdditionalGuestAmounts_nsprefix_ = None - self.RateDescription = RateDescription - self.RateDescription_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType405) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType405.subclass: - return RateType405.subclass(*args_, **kwargs_) - else: - return RateType405(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmts(self): - return self.BaseByGuestAmts - def set_BaseByGuestAmts(self, BaseByGuestAmts): - self.BaseByGuestAmts = BaseByGuestAmts - def get_AdditionalGuestAmounts(self): - return self.AdditionalGuestAmounts - def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): - self.AdditionalGuestAmounts = AdditionalGuestAmounts - def get_RateDescription(self): - return self.RateDescription - def set_RateDescription(self, RateDescription): - self.RateDescription = RateDescription - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_MinGuestApplicable(self): - return self.MinGuestApplicable - def set_MinGuestApplicable(self, MinGuestApplicable): - self.MinGuestApplicable = MinGuestApplicable - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType413(self, value): - # Validate type RateTimeUnitType413, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType413' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_DurationType414(self, value): - # Validate type DurationType414, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType414_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType414_patterns_, )) - validate_DurationType414_patterns_ = [['^(P[0-9]+N)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.BaseByGuestAmts is not None or - self.AdditionalGuestAmounts is not None or - self.RateDescription is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType405', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType405') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType405': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType405') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType405', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType405'): - if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType405', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BaseByGuestAmts is not None: - namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' - self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) - if self.AdditionalGuestAmounts is not None: - namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' - self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) - if self.RateDescription is not None: - namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' - self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestApplicable', node) - if value is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') - if self.MinGuestApplicable <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType413(self.RateTimeUnit) # validate type RateTimeUnitType413 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType414(self.Duration) # validate type DurationType414 - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmts': - obj_ = BaseByGuestAmtsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmts = obj_ - obj_.original_tagname_ = 'BaseByGuestAmts' - elif nodeName_ == 'AdditionalGuestAmounts': - obj_ = AdditionalGuestAmountsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmounts = obj_ - obj_.original_tagname_ = 'AdditionalGuestAmounts' - elif nodeName_ == 'RateDescription': - obj_ = RateDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RateDescription = obj_ - obj_.original_tagname_ = 'RateDescription' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType410.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RateType405 - - -class BaseByGuestAmtsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BaseByGuestAmt is None: - self.BaseByGuestAmt = [] - else: - self.BaseByGuestAmt = BaseByGuestAmt - self.BaseByGuestAmt_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtsType.subclass: - return BaseByGuestAmtsType.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmt(self): - return self.BaseByGuestAmt - def set_BaseByGuestAmt(self, BaseByGuestAmt): - self.BaseByGuestAmt = BaseByGuestAmt - def add_BaseByGuestAmt(self, value): - self.BaseByGuestAmt.append(value) - def insert_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt.insert(index, value) - def replace_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt[index] = value - def has__content(self): - if ( - self.BaseByGuestAmt - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BaseByGuestAmt_ in self.BaseByGuestAmt: - namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' - BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmt': - obj_ = BaseByGuestAmtType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmt.append(obj_) - obj_.original_tagname_ = 'BaseByGuestAmt' -# end class BaseByGuestAmtsType - - -class BaseByGuestAmtType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NumberOfGuests = _cast(int, NumberOfGuests) - self.NumberOfGuests_nsprefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtType.subclass: - return BaseByGuestAmtType.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NumberOfGuests(self): - return self.NumberOfGuests - def set_NumberOfGuests(self, NumberOfGuests): - self.NumberOfGuests = NumberOfGuests - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType406(self, value): - # Validate type TypeType406, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['7', '25'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType406' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType'): - if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('NumberOfGuests', node) - if value is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') - if self.NumberOfGuests <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType406(self.Type) # validate type TypeType406 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseByGuestAmtType - - -class AdditionalGuestAmountsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AdditionalGuestAmount is None: - self.AdditionalGuestAmount = [] - else: - self.AdditionalGuestAmount = AdditionalGuestAmount - self.AdditionalGuestAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountsType.subclass: - return AdditionalGuestAmountsType.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AdditionalGuestAmount(self): - return self.AdditionalGuestAmount - def set_AdditionalGuestAmount(self, AdditionalGuestAmount): - self.AdditionalGuestAmount = AdditionalGuestAmount - def add_AdditionalGuestAmount(self, value): - self.AdditionalGuestAmount.append(value) - def insert_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount.insert(index, value) - def replace_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount[index] = value - def has__content(self): - if ( - self.AdditionalGuestAmount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AdditionalGuestAmount_ in self.AdditionalGuestAmount: - namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' - AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AdditionalGuestAmount': - obj_ = AdditionalGuestAmountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmount.append(obj_) - obj_.original_tagname_ = 'AdditionalGuestAmount' -# end class AdditionalGuestAmountsType - - -class AdditionalGuestAmountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountType.subclass: - return AdditionalGuestAmountType.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AdditionalGuestAmountType - - -class RateDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateDescriptionType.subclass: - return RateDescriptionType.subclass(*args_, **kwargs_) - else: - return RateDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType409(self, value): - # Validate type NameType409, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType409' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType409(self.Name) # validate type NameType409 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType407.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' -# end class RateDescriptionType - - -class ListItemType407(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType407) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType407.subclass: - return ListItemType407.subclass(*args_, **kwargs_) - else: - return ListItemType407(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType408(self, value): - # Validate type LanguageType408, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType408_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType408_patterns_, )) - validate_LanguageType408_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType407', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType407') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType407': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType407') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType407'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType407', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType408(self.Language) # validate type LanguageType408 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType407 - - -class MealsIncludedType410(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Breakfast = _cast(bool, Breakfast) - self.Breakfast_nsprefix_ = None - self.Lunch = _cast(bool, Lunch) - self.Lunch_nsprefix_ = None - self.Dinner = _cast(bool, Dinner) - self.Dinner_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType410) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType410.subclass: - return MealsIncludedType410.subclass(*args_, **kwargs_) - else: - return MealsIncludedType410(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Breakfast(self): - return self.Breakfast - def set_Breakfast(self, Breakfast): - self.Breakfast = Breakfast - def get_Lunch(self): - return self.Lunch - def set_Lunch(self, Lunch): - self.Lunch = Lunch - def get_Dinner(self): - return self.Dinner - def set_Dinner(self, Dinner): - self.Dinner = Dinner - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_MealPlanCodesType411(self, value): - # Validate type MealPlanCodesType411, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType411' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanIndicatorType412(self, value): - # Validate type MealPlanIndicatorType412, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType412' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType410', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType410') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType410': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType410') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType410', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType410'): - if self.Breakfast is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) - if self.Lunch is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) - if self.Dinner is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType410', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Breakfast', node) - if value is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - if value in ('true', '1'): - self.Breakfast = True - elif value in ('false', '0'): - self.Breakfast = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Breakfast) # validate type def_bool - value = find_attr_value_('Lunch', node) - if value is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - if value in ('true', '1'): - self.Lunch = True - elif value in ('false', '0'): - self.Lunch = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Lunch) # validate type def_bool - value = find_attr_value_('Dinner', node) - if value is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - if value in ('true', '1'): - self.Dinner = True - elif value in ('false', '0'): - self.Dinner = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Dinner) # validate type def_bool - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType411(self.MealPlanCodes) # validate type MealPlanCodesType411 - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType412(self.MealPlanIndicator) # validate type MealPlanIndicatorType412 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType410 - - -class SupplementsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Supplement is None: - self.Supplement = [] - else: - self.Supplement = Supplement - self.Supplement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementsType.subclass: - return SupplementsType.subclass(*args_, **kwargs_) - else: - return SupplementsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Supplement(self): - return self.Supplement - def set_Supplement(self, Supplement): - self.Supplement = Supplement - def add_Supplement(self, value): - self.Supplement.append(value) - def insert_Supplement_at(self, index, value): - self.Supplement.insert(index, value) - def replace_Supplement_at(self, index, value): - self.Supplement[index] = value - def has__content(self): - if ( - self.Supplement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Supplement_ in self.Supplement: - namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' - Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Supplement': - obj_ = SupplementType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplement.append(obj_) - obj_.original_tagname_ = 'Supplement' -# end class SupplementsType - - -class SupplementType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) - self.AddToBasicRateIndicator_nsprefix_ = None - self.ChargeTypeCode = _cast(None, ChargeTypeCode) - self.ChargeTypeCode_nsprefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.MandatoryIndicator = _cast(bool, MandatoryIndicator) - self.MandatoryIndicator_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.PrerequisiteInventory = PrerequisiteInventory - self.PrerequisiteInventory_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementType.subclass: - return SupplementType.subclass(*args_, **kwargs_) - else: - return SupplementType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PrerequisiteInventory(self): - return self.PrerequisiteInventory - def set_PrerequisiteInventory(self, PrerequisiteInventory): - self.PrerequisiteInventory = PrerequisiteInventory - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_AddToBasicRateIndicator(self): - return self.AddToBasicRateIndicator - def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): - self.AddToBasicRateIndicator = AddToBasicRateIndicator - def get_ChargeTypeCode(self): - return self.ChargeTypeCode - def set_ChargeTypeCode(self, ChargeTypeCode): - self.ChargeTypeCode = ChargeTypeCode - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_MandatoryIndicator(self): - return self.MandatoryIndicator - def set_MandatoryIndicator(self, MandatoryIndicator): - self.MandatoryIndicator = MandatoryIndicator - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_AddToBasicRateIndicatorType(self, value): - # Validate type AddToBasicRateIndicatorType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeTypeCodeType(self, value): - # Validate type ChargeTypeCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '12', '18', '19', '20', '21', '24'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_InvTypeType420(self, value): - # Validate type InvTypeType420, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType420' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.PrerequisiteInventory is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType'): - if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) - if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PrerequisiteInventory is not None: - namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' - self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AddToBasicRateIndicator', node) - if value is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - self.AddToBasicRateIndicator = value - self.validate_AddToBasicRateIndicatorType(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType - value = find_attr_value_('ChargeTypeCode', node) - if value is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - self.ChargeTypeCode = value - self.validate_ChargeTypeCodeType(self.ChargeTypeCode) # validate type ChargeTypeCodeType - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType420(self.InvType) # validate type InvTypeType420 - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('MandatoryIndicator', node) - if value is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - if value in ('true', '1'): - self.MandatoryIndicator = True - elif value in ('false', '0'): - self.MandatoryIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PrerequisiteInventory': - obj_ = PrerequisiteInventoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PrerequisiteInventory = obj_ - obj_.original_tagname_ = 'PrerequisiteInventory' - elif nodeName_ == 'Description': - obj_ = DescriptionType415.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class SupplementType - - -class PrerequisiteInventoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PrerequisiteInventoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PrerequisiteInventoryType.subclass: - return PrerequisiteInventoryType.subclass(*args_, **kwargs_) - else: - return PrerequisiteInventoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InvTypeType(self, value): - # Validate type InvTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType'): - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType(self.InvType) # validate type InvTypeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PrerequisiteInventoryType - - -class DescriptionType415(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType415) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType415.subclass: - return DescriptionType415.subclass(*args_, **kwargs_) - else: - return DescriptionType415(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType419(self, value): - # Validate type NameType419, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType419' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType415', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType415') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType415': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType415') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType415', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType415'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType415', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType419(self.Name) # validate type NameType419 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType416.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType415 - - -class TextType416(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType416) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType416.subclass: - return TextType416.subclass(*args_, **kwargs_) - else: - return TextType416(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType417(self, value): - # Validate type TextFormatType417, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType417' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType418(self, value): - # Validate type LanguageType418, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType418_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType418_patterns_, )) - validate_LanguageType418_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType416', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType416') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType416': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType416') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType416'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType416', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType417(self.TextFormat) # validate type TextFormatType417 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType418(self.Language) # validate type LanguageType418 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType416 - - -class OffersType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Offer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Offer is None: - self.Offer = [] - else: - self.Offer = Offer - self.Offer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OffersType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OffersType.subclass: - return OffersType.subclass(*args_, **kwargs_) - else: - return OffersType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Offer(self): - return self.Offer - def set_Offer(self, Offer): - self.Offer = Offer - def add_Offer(self, value): - self.Offer.append(value) - def insert_Offer_at(self, index, value): - self.Offer.insert(index, value) - def replace_Offer_at(self, index, value): - self.Offer[index] = value - def has__content(self): - if ( - self.Offer - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OffersType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Offer_ in self.Offer: - namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' - Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Offer': - obj_ = OfferType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offer.append(obj_) - obj_.original_tagname_ = 'Offer' -# end class OffersType - - -class OfferType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRules = OfferRules - self.OfferRules_nsprefix_ = None - self.Discount = Discount - self.Discount_nsprefix_ = None - self.Guests = Guests - self.Guests_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferType.subclass: - return OfferType.subclass(*args_, **kwargs_) - else: - return OfferType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRules(self): - return self.OfferRules - def set_OfferRules(self, OfferRules): - self.OfferRules = OfferRules - def get_Discount(self): - return self.Discount - def set_Discount(self, Discount): - self.Discount = Discount - def get_Guests(self): - return self.Guests - def set_Guests(self, Guests): - self.Guests = Guests - def has__content(self): - if ( - self.OfferRules is not None or - self.Discount is not None or - self.Guests is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRules is not None: - namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' - self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) - if self.Discount is not None: - namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' - self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) - if self.Guests is not None: - namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' - self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRules': - obj_ = OfferRulesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRules = obj_ - obj_.original_tagname_ = 'OfferRules' - elif nodeName_ == 'Discount': - obj_ = DiscountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Discount = obj_ - obj_.original_tagname_ = 'Discount' - elif nodeName_ == 'Guests': - obj_ = GuestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guests = obj_ - obj_.original_tagname_ = 'Guests' -# end class OfferType - - -class OfferRulesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRule = OfferRule - self.OfferRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRulesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRulesType.subclass: - return OfferRulesType.subclass(*args_, **kwargs_) - else: - return OfferRulesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRule(self): - return self.OfferRule - def set_OfferRule(self, OfferRule): - self.OfferRule = OfferRule - def has__content(self): - if ( - self.OfferRule is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRulesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRule is not None: - namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' - self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRule': - obj_ = OfferRuleType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRule = obj_ - obj_.original_tagname_ = 'OfferRule' -# end class OfferRulesType - - -class OfferRuleType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) - self.MinAdvancedBookingOffset_nsprefix_ = None - self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) - self.MaxAdvancedBookingOffset_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - if Occupancy is None: - self.Occupancy = [] - else: - self.Occupancy = Occupancy - self.Occupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRuleType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRuleType.subclass: - return OfferRuleType.subclass(*args_, **kwargs_) - else: - return OfferRuleType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_Occupancy(self): - return self.Occupancy - def set_Occupancy(self, Occupancy): - self.Occupancy = Occupancy - def add_Occupancy(self, value): - self.Occupancy.append(value) - def insert_Occupancy_at(self, index, value): - self.Occupancy.insert(index, value) - def replace_Occupancy_at(self, index, value): - self.Occupancy[index] = value - def get_MinAdvancedBookingOffset(self): - return self.MinAdvancedBookingOffset - def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): - self.MinAdvancedBookingOffset = MinAdvancedBookingOffset - def get_MaxAdvancedBookingOffset(self): - return self.MaxAdvancedBookingOffset - def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): - self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset - def validate_MinAdvancedBookingOffsetType(self, value): - # Validate type MinAdvancedBookingOffsetType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MinAdvancedBookingOffsetType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType_patterns_, )) - validate_MinAdvancedBookingOffsetType_patterns_ = [['^(P[0-9]+D)$']] - def validate_MaxAdvancedBookingOffsetType(self, value): - # Validate type MaxAdvancedBookingOffsetType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaxAdvancedBookingOffsetType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType_patterns_, )) - validate_MaxAdvancedBookingOffsetType_patterns_ = [['^(P[0-9]+D)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.Occupancy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRuleType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType'): - if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) - if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - for Occupancy_ in self.Occupancy: - namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' - Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinAdvancedBookingOffset', node) - if value is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - self.MinAdvancedBookingOffset = value - self.validate_MinAdvancedBookingOffsetType(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType - value = find_attr_value_('MaxAdvancedBookingOffset', node) - if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - self.MaxAdvancedBookingOffset = value - self.validate_MaxAdvancedBookingOffsetType(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType421.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType425.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'Occupancy': - obj_ = OccupancyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Occupancy.append(obj_) - obj_.original_tagname_ = 'Occupancy' -# end class OfferRuleType - - -class LengthOfStayType422(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType422) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType422.subclass: - return LengthOfStayType422.subclass(*args_, **kwargs_) - else: - return LengthOfStayType422(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType423(self, value): - # Validate type TimeUnitType423, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType423' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType424(self, value): - # Validate type MinMaxMessageTypeType424, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetMaxLOS', ''] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType424' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType422', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType422') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType422': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType422') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType422', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType422'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType422', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType423(self.TimeUnit) # validate type TimeUnitType423 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType424(self.MinMaxMessageType) # validate type MinMaxMessageTypeType424 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType422 - - -class OccupancyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OccupancyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OccupancyType.subclass: - return OccupancyType.subclass(*args_, **kwargs_) - else: - return OccupancyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def validate_AgeQualifyingCodeType(self, value): - # Validate type AgeQualifyingCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['8', '10'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OccupancyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = value - self.validate_AgeQualifyingCodeType(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class OccupancyType - - -class DiscountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(None, Percent) - self.Percent_nsprefix_ = None - self.NightsRequired = _cast(int, NightsRequired) - self.NightsRequired_nsprefix_ = None - self.NightsDiscounted = _cast(int, NightsDiscounted) - self.NightsDiscounted_nsprefix_ = None - self.DiscountPattern = _cast(None, DiscountPattern) - self.DiscountPattern_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DiscountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DiscountType.subclass: - return DiscountType.subclass(*args_, **kwargs_) - else: - return DiscountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def get_NightsRequired(self): - return self.NightsRequired - def set_NightsRequired(self, NightsRequired): - self.NightsRequired = NightsRequired - def get_NightsDiscounted(self): - return self.NightsDiscounted - def set_NightsDiscounted(self, NightsDiscounted): - self.NightsDiscounted = NightsDiscounted - def get_DiscountPattern(self): - return self.DiscountPattern - def set_DiscountPattern(self, DiscountPattern): - self.DiscountPattern = DiscountPattern - def validate_PercentType(self, value): - # Validate type PercentType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['100'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_DiscountPatternType(self, value): - # Validate type DiscountPatternType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DiscountPatternType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType_patterns_, )) - validate_DiscountPatternType_patterns_ = [['^(0*1*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DiscountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) - if self.NightsRequired is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) - if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) - if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = value - self.validate_PercentType(self.Percent) # validate type PercentType - value = find_attr_value_('NightsRequired', node) - if value is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') - if self.NightsRequired <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 - value = find_attr_value_('NightsDiscounted', node) - if value is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') - if self.NightsDiscounted <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 - value = find_attr_value_('DiscountPattern', node) - if value is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - self.DiscountPattern = value - self.validate_DiscountPatternType(self.DiscountPattern) # validate type DiscountPatternType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DiscountType - - -class GuestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Guest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Guest = Guest - self.Guest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestsType.subclass: - return GuestsType.subclass(*args_, **kwargs_) - else: - return GuestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Guest(self): - return self.Guest - def set_Guest(self, Guest): - self.Guest = Guest - def has__content(self): - if ( - self.Guest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Guest is not None: - namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' - self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Guest': - obj_ = GuestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guest = obj_ - obj_.original_tagname_ = 'Guest' -# end class GuestsType - - -class GuestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinCount = _cast(int, MinCount) - self.MinCount_nsprefix_ = None - self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) - self.FirstQualifyingPosition_nsprefix_ = None - self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) - self.LastQualifyingPosition_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestType.subclass: - return GuestType.subclass(*args_, **kwargs_) - else: - return GuestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinCount(self): - return self.MinCount - def set_MinCount(self, MinCount): - self.MinCount = MinCount - def get_FirstQualifyingPosition(self): - return self.FirstQualifyingPosition - def set_FirstQualifyingPosition(self, FirstQualifyingPosition): - self.FirstQualifyingPosition = FirstQualifyingPosition - def get_LastQualifyingPosition(self): - return self.LastQualifyingPosition - def set_LastQualifyingPosition(self, LastQualifyingPosition): - self.LastQualifyingPosition = LastQualifyingPosition - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_FirstQualifyingPositionType(self, value): - # Validate type FirstQualifyingPositionType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinCount is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) - if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) - if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinCount', node) - if value is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - self.MinCount = self.gds_parse_integer(value, node, 'MinCount') - if self.MinCount < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 - value = find_attr_value_('FirstQualifyingPosition', node) - if value is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - self.FirstQualifyingPosition = value - self.validate_FirstQualifyingPositionType(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType - value = find_attr_value_('LastQualifyingPosition', node) - if value is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') - if self.LastQualifyingPosition <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestType - - -class DescriptionType428(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType428) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType428.subclass: - return DescriptionType428.subclass(*args_, **kwargs_) - else: - return DescriptionType428(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType432(self, value): - # Validate type NameType432, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType432' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType428', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType428') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType428': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType428') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType428', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType428'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType428', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType432(self.Name) # validate type NameType432 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType429.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType428 - - -class TextType429(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType429) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType429.subclass: - return TextType429.subclass(*args_, **kwargs_) - else: - return TextType429(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType430(self, value): - # Validate type TextFormatType430, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType430' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType431(self, value): - # Validate type LanguageType431, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType431_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType431_patterns_, )) - validate_LanguageType431_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType429', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType429') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType429': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType429') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType429'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType429', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType430(self.TextFormat) # validate type TextFormatType430 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType431(self.Language) # validate type LanguageType431 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType429 - - -class ErrorType434(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType434) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType434.subclass: - return ErrorType434.subclass(*args_, **kwargs_) - else: - return ErrorType434(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType435(self, value): - # Validate type TypeType435, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType435' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType434', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType434') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType434': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType434') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType434'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType434', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType435(self.Type) # validate type TypeType435 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType434 - - -class WarningType437(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType437) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType437.subclass: - return WarningType437.subclass(*args_, **kwargs_) - else: - return WarningType437(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType437', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType437') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType437': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType437') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType437'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType437', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType437 - - -class RatePlansType438(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType438) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType438.subclass: - return RatePlansType438.subclass(*args_, **kwargs_) - else: - return RatePlansType438(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType438', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType438') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType438': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType438') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType438', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType438'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType438', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType439.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType438 - - -class RatePlanType439(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, DateRange=None, RatePlanCandidates=None, HotelRef=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if DateRange is None: - self.DateRange = [] - else: - self.DateRange = DateRange - self.DateRange_nsprefix_ = None - if RatePlanCandidates is None: - self.RatePlanCandidates = [] - else: - self.RatePlanCandidates = RatePlanCandidates - self.RatePlanCandidates_nsprefix_ = None - if HotelRef is None: - self.HotelRef = [] - else: - self.HotelRef = HotelRef - self.HotelRef_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType439) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType439.subclass: - return RatePlanType439.subclass(*args_, **kwargs_) - else: - return RatePlanType439(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_DateRange(self): - return self.DateRange - def set_DateRange(self, DateRange): - self.DateRange = DateRange - def add_DateRange(self, value): - self.DateRange.append(value) - def insert_DateRange_at(self, index, value): - self.DateRange.insert(index, value) - def replace_DateRange_at(self, index, value): - self.DateRange[index] = value - def get_RatePlanCandidates(self): - return self.RatePlanCandidates - def set_RatePlanCandidates(self, RatePlanCandidates): - self.RatePlanCandidates = RatePlanCandidates - def add_RatePlanCandidates(self, value): - self.RatePlanCandidates.append(value) - def insert_RatePlanCandidates_at(self, index, value): - self.RatePlanCandidates.insert(index, value) - def replace_RatePlanCandidates_at(self, index, value): - self.RatePlanCandidates[index] = value - def get_HotelRef(self): - return self.HotelRef - def set_HotelRef(self, HotelRef): - self.HotelRef = HotelRef - def add_HotelRef(self, value): - self.HotelRef.append(value) - def insert_HotelRef_at(self, index, value): - self.HotelRef.insert(index, value) - def replace_HotelRef_at(self, index, value): - self.HotelRef[index] = value - def has__content(self): - if ( - self.DateRange or - self.RatePlanCandidates or - self.HotelRef - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType439', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType439') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType439': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType439') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType439', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType439'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType439', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for DateRange_ in self.DateRange: - namespaceprefix_ = self.DateRange_nsprefix_ + ':' if (UseCapturedNS_ and self.DateRange_nsprefix_) else '' - DateRange_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DateRange', pretty_print=pretty_print) - for RatePlanCandidates_ in self.RatePlanCandidates: - namespaceprefix_ = self.RatePlanCandidates_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlanCandidates_nsprefix_) else '' - RatePlanCandidates_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlanCandidates', pretty_print=pretty_print) - for HotelRef_ in self.HotelRef: - namespaceprefix_ = self.HotelRef_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelRef_nsprefix_) else '' - HotelRef_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelRef', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'DateRange': - obj_ = DateRangeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DateRange.append(obj_) - obj_.original_tagname_ = 'DateRange' - elif nodeName_ == 'RatePlanCandidates': - obj_ = RatePlanCandidatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlanCandidates.append(obj_) - obj_.original_tagname_ = 'RatePlanCandidates' - elif nodeName_ == 'HotelRef': - obj_ = HotelRefType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelRef.append(obj_) - obj_.original_tagname_ = 'HotelRef' -# end class RatePlanType439 - - -class DateRangeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DateRangeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DateRangeType.subclass: - return DateRangeType.subclass(*args_, **kwargs_) - else: - return DateRangeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DateRangeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DateRangeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DateRangeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DateRangeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DateRangeType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DateRangeType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DateRangeType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DateRangeType - - -class RatePlanCandidatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCandidate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if RatePlanCandidate is None: - self.RatePlanCandidate = [] - else: - self.RatePlanCandidate = RatePlanCandidate - self.RatePlanCandidate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanCandidatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanCandidatesType.subclass: - return RatePlanCandidatesType.subclass(*args_, **kwargs_) - else: - return RatePlanCandidatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlanCandidate(self): - return self.RatePlanCandidate - def set_RatePlanCandidate(self, RatePlanCandidate): - self.RatePlanCandidate = RatePlanCandidate - def add_RatePlanCandidate(self, value): - self.RatePlanCandidate.append(value) - def insert_RatePlanCandidate_at(self, index, value): - self.RatePlanCandidate.insert(index, value) - def replace_RatePlanCandidate_at(self, index, value): - self.RatePlanCandidate[index] = value - def has__content(self): - if ( - self.RatePlanCandidate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanCandidatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanCandidatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanCandidatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanCandidatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanCandidatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanCandidatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanCandidatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlanCandidate_ in self.RatePlanCandidate: - namespaceprefix_ = self.RatePlanCandidate_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlanCandidate_nsprefix_) else '' - RatePlanCandidate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlanCandidate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlanCandidate': - obj_ = RatePlanCandidateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlanCandidate.append(obj_) - obj_.original_tagname_ = 'RatePlanCandidate' -# end class RatePlanCandidatesType - - -class RatePlanCandidateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, RatePlanID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanCandidateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanCandidateType.subclass: - return RatePlanCandidateType.subclass(*args_, **kwargs_) - else: - return RatePlanCandidateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RatePlanCandidateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanCandidateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanCandidateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanCandidateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanCandidateType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanCandidateType'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RatePlanCandidateType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RatePlanCandidateType - - -class HotelRefType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelRefType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelRefType.subclass: - return HotelRefType.subclass(*args_, **kwargs_) - else: - return HotelRefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelRefType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelRefType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelRefType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelRefType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelRefType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelRefType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelRefType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelRefType - - -class ErrorType441(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType441) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType441.subclass: - return ErrorType441.subclass(*args_, **kwargs_) - else: - return ErrorType441(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType442(self, value): - # Validate type TypeType442, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType442' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType441', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType441') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType441': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType441') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType441'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType441', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType442(self.Type) # validate type TypeType442 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType441 - - -class WarningType444(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType444) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType444.subclass: - return WarningType444.subclass(*args_, **kwargs_) - else: - return WarningType444(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType444', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType444') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType444': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType444') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType444'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType444', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType444 - - -class RatePlansType445(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if RatePlan is None: - self.RatePlan = [] - else: - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType445) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType445.subclass: - return RatePlansType445.subclass(*args_, **kwargs_) - else: - return RatePlansType445(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def add_RatePlan(self, value): - self.RatePlan.append(value) - def insert_RatePlan_at(self, index, value): - self.RatePlan.insert(index, value) - def replace_RatePlan_at(self, index, value): - self.RatePlan[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RatePlan - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType445', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType445') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType445': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType445') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType445', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType445'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType445', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlan_ in self.RatePlan: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType446.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan.append(obj_) - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType445 - - -class RatePlanType446(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RatePlanNotifType = _cast(None, RatePlanNotifType) - self.RatePlanNotifType_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanType = _cast(None, RatePlanType) - self.RatePlanType_nsprefix_ = None - self.RatePlanCategory = _cast(None, RatePlanCategory) - self.RatePlanCategory_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - self.RatePlanQualifier = _cast(bool, RatePlanQualifier) - self.RatePlanQualifier_nsprefix_ = None - self.BookingRules = BookingRules - self.BookingRules_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - self.Supplements = Supplements - self.Supplements_nsprefix_ = None - self.Offers = Offers - self.Offers_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType446) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType446.subclass: - return RatePlanType446.subclass(*args_, **kwargs_) - else: - return RatePlanType446(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRules(self): - return self.BookingRules - def set_BookingRules(self, BookingRules): - self.BookingRules = BookingRules - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_Supplements(self): - return self.Supplements - def set_Supplements(self, Supplements): - self.Supplements = Supplements - def get_Offers(self): - return self.Offers - def set_Offers(self, Offers): - self.Offers = Offers - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RatePlanNotifType(self): - return self.RatePlanNotifType - def set_RatePlanNotifType(self, RatePlanNotifType): - self.RatePlanNotifType = RatePlanNotifType - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanType(self): - return self.RatePlanType - def set_RatePlanType(self, RatePlanType): - self.RatePlanType = RatePlanType - def get_RatePlanCategory(self): - return self.RatePlanCategory - def set_RatePlanCategory(self, RatePlanCategory): - self.RatePlanCategory = RatePlanCategory - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def get_RatePlanQualifier(self): - return self.RatePlanQualifier - def set_RatePlanQualifier(self, RatePlanQualifier): - self.RatePlanQualifier = RatePlanQualifier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RatePlanNotifTypeType514(self, value): - # Validate type RatePlanNotifTypeType514, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Overlay', 'New', 'Full', 'Remove'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType514' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RatePlanTypeType515(self, value): - # Validate type RatePlanTypeType515, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType515' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.BookingRules is not None or - self.Rates is not None or - self.Supplements is not None or - self.Offers is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType446', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType446') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType446': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType446') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType446', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType446'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanType is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) - if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType446', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BookingRules is not None: - namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' - self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - if self.Supplements is not None: - namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' - self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) - if self.Offers is not None: - namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' - self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RatePlanNotifType', node) - if value is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - self.RatePlanNotifType = value - self.validate_RatePlanNotifTypeType514(self.RatePlanNotifType) # validate type RatePlanNotifTypeType514 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanType', node) - if value is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - self.RatePlanType = value - self.validate_RatePlanTypeType515(self.RatePlanType) # validate type RatePlanTypeType515 - value = find_attr_value_('RatePlanCategory', node) - if value is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - self.RatePlanCategory = value - self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - value = find_attr_value_('RatePlanQualifier', node) - if value is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - if value in ('true', '1'): - self.RatePlanQualifier = True - elif value in ('false', '0'): - self.RatePlanQualifier = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRules': - obj_ = BookingRulesType447.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRules = obj_ - obj_.original_tagname_ = 'BookingRules' - elif nodeName_ == 'Rates': - obj_ = RatesType460.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' - elif nodeName_ == 'Supplements': - obj_ = SupplementsType476.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplements = obj_ - obj_.original_tagname_ = 'Supplements' - elif nodeName_ == 'Offers': - obj_ = OffersType488.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offers = obj_ - obj_.original_tagname_ = 'Offers' - elif nodeName_ == 'Description': - obj_ = DescriptionType509.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class RatePlanType446 - - -class BookingRuleType448(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - self.RestrictionStatus = RestrictionStatus - self.RestrictionStatus_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRuleType448) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRuleType448.subclass: - return BookingRuleType448.subclass(*args_, **kwargs_) - else: - return BookingRuleType448(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_RestrictionStatus(self): - return self.RestrictionStatus - def set_RestrictionStatus(self, RestrictionStatus): - self.RestrictionStatus = RestrictionStatus - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_CodeContextType459(self, value): - # Validate type CodeContextType459, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType459' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.RestrictionStatus is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType448', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType448') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRuleType448': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType448') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType448', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType448'): - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType448', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - if self.RestrictionStatus is not None: - namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' - self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType459(self.CodeContext) # validate type CodeContextType459 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType449.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType453.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'RestrictionStatus': - obj_ = RestrictionStatusType456.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RestrictionStatus = obj_ - obj_.original_tagname_ = 'RestrictionStatus' -# end class BookingRuleType448 - - -class LengthOfStayType450(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType450) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType450.subclass: - return LengthOfStayType450.subclass(*args_, **kwargs_) - else: - return LengthOfStayType450(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType451(self, value): - # Validate type TimeUnitType451, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType451' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType452(self, value): - # Validate type MinMaxMessageTypeType452, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType452' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType450', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType450') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType450': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType450') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType450', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType450'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType450', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType451(self.TimeUnit) # validate type TimeUnitType451 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType452(self.MinMaxMessageType) # validate type MinMaxMessageTypeType452 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType450 - - -class RestrictionStatusType456(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Restriction = _cast(None, Restriction) - self.Restriction_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RestrictionStatusType456) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RestrictionStatusType456.subclass: - return RestrictionStatusType456.subclass(*args_, **kwargs_) - else: - return RestrictionStatusType456(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Restriction(self): - return self.Restriction - def set_Restriction(self, Restriction): - self.Restriction = Restriction - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def validate_RestrictionType457(self, value): - # Validate type RestrictionType457, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Master'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType457' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StatusType458(self, value): - # Validate type StatusType458, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Open', 'Close'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType458' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType456', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType456') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RestrictionStatusType456': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType456') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType456', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType456'): - if self.Restriction is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType456', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Restriction', node) - if value is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - self.Restriction = value - self.validate_RestrictionType457(self.Restriction) # validate type RestrictionType457 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType458(self.Status) # validate type StatusType458 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RestrictionStatusType456 - - -class RateType461(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestApplicable = _cast(int, MinGuestApplicable) - self.MinGuestApplicable_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.BaseByGuestAmts = BaseByGuestAmts - self.BaseByGuestAmts_nsprefix_ = None - self.AdditionalGuestAmounts = AdditionalGuestAmounts - self.AdditionalGuestAmounts_nsprefix_ = None - self.RateDescription = RateDescription - self.RateDescription_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType461) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType461.subclass: - return RateType461.subclass(*args_, **kwargs_) - else: - return RateType461(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmts(self): - return self.BaseByGuestAmts - def set_BaseByGuestAmts(self, BaseByGuestAmts): - self.BaseByGuestAmts = BaseByGuestAmts - def get_AdditionalGuestAmounts(self): - return self.AdditionalGuestAmounts - def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): - self.AdditionalGuestAmounts = AdditionalGuestAmounts - def get_RateDescription(self): - return self.RateDescription - def set_RateDescription(self, RateDescription): - self.RateDescription = RateDescription - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_MinGuestApplicable(self): - return self.MinGuestApplicable - def set_MinGuestApplicable(self, MinGuestApplicable): - self.MinGuestApplicable = MinGuestApplicable - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType474(self, value): - # Validate type RateTimeUnitType474, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType474' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_DurationType475(self, value): - # Validate type DurationType475, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType475_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType475_patterns_, )) - validate_DurationType475_patterns_ = [['^(P[0-9]+N)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.BaseByGuestAmts is not None or - self.AdditionalGuestAmounts is not None or - self.RateDescription is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType461', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType461') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType461': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType461') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType461', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType461'): - if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType461', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BaseByGuestAmts is not None: - namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' - self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) - if self.AdditionalGuestAmounts is not None: - namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' - self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) - if self.RateDescription is not None: - namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' - self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestApplicable', node) - if value is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') - if self.MinGuestApplicable <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType474(self.RateTimeUnit) # validate type RateTimeUnitType474 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType475(self.Duration) # validate type DurationType475 - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmts': - obj_ = BaseByGuestAmtsType462.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmts = obj_ - obj_.original_tagname_ = 'BaseByGuestAmts' - elif nodeName_ == 'AdditionalGuestAmounts': - obj_ = AdditionalGuestAmountsType465.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmounts = obj_ - obj_.original_tagname_ = 'AdditionalGuestAmounts' - elif nodeName_ == 'RateDescription': - obj_ = RateDescriptionType467.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RateDescription = obj_ - obj_.original_tagname_ = 'RateDescription' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType471.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RateType461 - - -class BaseByGuestAmtType463(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NumberOfGuests = _cast(int, NumberOfGuests) - self.NumberOfGuests_nsprefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtType463) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtType463.subclass: - return BaseByGuestAmtType463.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtType463(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NumberOfGuests(self): - return self.NumberOfGuests - def set_NumberOfGuests(self, NumberOfGuests): - self.NumberOfGuests = NumberOfGuests - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType464(self, value): - # Validate type TypeType464, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['7', '25'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType464' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType463', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType463') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType463': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType463') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType463', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType463'): - if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType463', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('NumberOfGuests', node) - if value is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') - if self.NumberOfGuests <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType464(self.Type) # validate type TypeType464 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseByGuestAmtType463 - - -class RateDescriptionType467(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateDescriptionType467) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateDescriptionType467.subclass: - return RateDescriptionType467.subclass(*args_, **kwargs_) - else: - return RateDescriptionType467(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType470(self, value): - # Validate type NameType470, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType470' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType467', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType467') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateDescriptionType467': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType467') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType467', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType467'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType467', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType470(self.Name) # validate type NameType470 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType468.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' -# end class RateDescriptionType467 - - -class ListItemType468(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType468) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType468.subclass: - return ListItemType468.subclass(*args_, **kwargs_) - else: - return ListItemType468(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType469(self, value): - # Validate type LanguageType469, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType469_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType469_patterns_, )) - validate_LanguageType469_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType468', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType468') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType468': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType468') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType468'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType468', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType469(self.Language) # validate type LanguageType469 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType468 - - -class MealsIncludedType471(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Breakfast = _cast(bool, Breakfast) - self.Breakfast_nsprefix_ = None - self.Lunch = _cast(bool, Lunch) - self.Lunch_nsprefix_ = None - self.Dinner = _cast(bool, Dinner) - self.Dinner_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType471) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType471.subclass: - return MealsIncludedType471.subclass(*args_, **kwargs_) - else: - return MealsIncludedType471(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Breakfast(self): - return self.Breakfast - def set_Breakfast(self, Breakfast): - self.Breakfast = Breakfast - def get_Lunch(self): - return self.Lunch - def set_Lunch(self, Lunch): - self.Lunch = Lunch - def get_Dinner(self): - return self.Dinner - def set_Dinner(self, Dinner): - self.Dinner = Dinner - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_MealPlanCodesType472(self, value): - # Validate type MealPlanCodesType472, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType472' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanIndicatorType473(self, value): - # Validate type MealPlanIndicatorType473, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType473' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType471', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType471') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType471': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType471') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType471', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType471'): - if self.Breakfast is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) - if self.Lunch is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) - if self.Dinner is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType471', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Breakfast', node) - if value is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - if value in ('true', '1'): - self.Breakfast = True - elif value in ('false', '0'): - self.Breakfast = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Breakfast) # validate type def_bool - value = find_attr_value_('Lunch', node) - if value is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - if value in ('true', '1'): - self.Lunch = True - elif value in ('false', '0'): - self.Lunch = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Lunch) # validate type def_bool - value = find_attr_value_('Dinner', node) - if value is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - if value in ('true', '1'): - self.Dinner = True - elif value in ('false', '0'): - self.Dinner = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Dinner) # validate type def_bool - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType472(self.MealPlanCodes) # validate type MealPlanCodesType472 - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType473(self.MealPlanIndicator) # validate type MealPlanIndicatorType473 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType471 - - -class SupplementType477(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) - self.AddToBasicRateIndicator_nsprefix_ = None - self.ChargeTypeCode = _cast(None, ChargeTypeCode) - self.ChargeTypeCode_nsprefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.MandatoryIndicator = _cast(bool, MandatoryIndicator) - self.MandatoryIndicator_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.PrerequisiteInventory = PrerequisiteInventory - self.PrerequisiteInventory_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementType477) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementType477.subclass: - return SupplementType477.subclass(*args_, **kwargs_) - else: - return SupplementType477(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PrerequisiteInventory(self): - return self.PrerequisiteInventory - def set_PrerequisiteInventory(self, PrerequisiteInventory): - self.PrerequisiteInventory = PrerequisiteInventory - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_AddToBasicRateIndicator(self): - return self.AddToBasicRateIndicator - def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): - self.AddToBasicRateIndicator = AddToBasicRateIndicator - def get_ChargeTypeCode(self): - return self.ChargeTypeCode - def set_ChargeTypeCode(self, ChargeTypeCode): - self.ChargeTypeCode = ChargeTypeCode - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_MandatoryIndicator(self): - return self.MandatoryIndicator - def set_MandatoryIndicator(self, MandatoryIndicator): - self.MandatoryIndicator = MandatoryIndicator - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_AddToBasicRateIndicatorType485(self, value): - # Validate type AddToBasicRateIndicatorType485, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType485' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeTypeCodeType486(self, value): - # Validate type ChargeTypeCodeType486, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '12', '18', '19', '20', '21', '24'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType486' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_InvTypeType487(self, value): - # Validate type InvTypeType487, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType487' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.PrerequisiteInventory is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType477', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType477') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementType477': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType477') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType477', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType477'): - if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) - if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType477', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PrerequisiteInventory is not None: - namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' - self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AddToBasicRateIndicator', node) - if value is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - self.AddToBasicRateIndicator = value - self.validate_AddToBasicRateIndicatorType485(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType485 - value = find_attr_value_('ChargeTypeCode', node) - if value is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - self.ChargeTypeCode = value - self.validate_ChargeTypeCodeType486(self.ChargeTypeCode) # validate type ChargeTypeCodeType486 - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType487(self.InvType) # validate type InvTypeType487 - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('MandatoryIndicator', node) - if value is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - if value in ('true', '1'): - self.MandatoryIndicator = True - elif value in ('false', '0'): - self.MandatoryIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PrerequisiteInventory': - obj_ = PrerequisiteInventoryType478.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PrerequisiteInventory = obj_ - obj_.original_tagname_ = 'PrerequisiteInventory' - elif nodeName_ == 'Description': - obj_ = DescriptionType480.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class SupplementType477 - - -class PrerequisiteInventoryType478(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PrerequisiteInventoryType478) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PrerequisiteInventoryType478.subclass: - return PrerequisiteInventoryType478.subclass(*args_, **kwargs_) - else: - return PrerequisiteInventoryType478(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InvTypeType479(self, value): - # Validate type InvTypeType479, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType479' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType478', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType478') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType478': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType478') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType478', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType478'): - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType478', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType479(self.InvType) # validate type InvTypeType479 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PrerequisiteInventoryType478 - - -class DescriptionType480(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType480) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType480.subclass: - return DescriptionType480.subclass(*args_, **kwargs_) - else: - return DescriptionType480(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType484(self, value): - # Validate type NameType484, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType484' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType480', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType480') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType480': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType480') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType480', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType480'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType480', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType484(self.Name) # validate type NameType484 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType481.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType480 - - -class TextType481(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType481) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType481.subclass: - return TextType481.subclass(*args_, **kwargs_) - else: - return TextType481(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType482(self, value): - # Validate type TextFormatType482, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType482' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType483(self, value): - # Validate type LanguageType483, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType483_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType483_patterns_, )) - validate_LanguageType483_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType481', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType481') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType481': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType481') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType481'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType481', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType482(self.TextFormat) # validate type TextFormatType482 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType483(self.Language) # validate type LanguageType483 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType481 - - -class OfferRuleType491(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) - self.MinAdvancedBookingOffset_nsprefix_ = None - self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) - self.MaxAdvancedBookingOffset_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - if Occupancy is None: - self.Occupancy = [] - else: - self.Occupancy = Occupancy - self.Occupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRuleType491) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRuleType491.subclass: - return OfferRuleType491.subclass(*args_, **kwargs_) - else: - return OfferRuleType491(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_Occupancy(self): - return self.Occupancy - def set_Occupancy(self, Occupancy): - self.Occupancy = Occupancy - def add_Occupancy(self, value): - self.Occupancy.append(value) - def insert_Occupancy_at(self, index, value): - self.Occupancy.insert(index, value) - def replace_Occupancy_at(self, index, value): - self.Occupancy[index] = value - def get_MinAdvancedBookingOffset(self): - return self.MinAdvancedBookingOffset - def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): - self.MinAdvancedBookingOffset = MinAdvancedBookingOffset - def get_MaxAdvancedBookingOffset(self): - return self.MaxAdvancedBookingOffset - def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): - self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset - def validate_MinAdvancedBookingOffsetType501(self, value): - # Validate type MinAdvancedBookingOffsetType501, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MinAdvancedBookingOffsetType501_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType501_patterns_, )) - validate_MinAdvancedBookingOffsetType501_patterns_ = [['^(P[0-9]+D)$']] - def validate_MaxAdvancedBookingOffsetType502(self, value): - # Validate type MaxAdvancedBookingOffsetType502, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaxAdvancedBookingOffsetType502_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType502_patterns_, )) - validate_MaxAdvancedBookingOffsetType502_patterns_ = [['^(P[0-9]+D)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.Occupancy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType491', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType491') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRuleType491': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType491') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType491', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType491'): - if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) - if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType491', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - for Occupancy_ in self.Occupancy: - namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' - Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinAdvancedBookingOffset', node) - if value is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - self.MinAdvancedBookingOffset = value - self.validate_MinAdvancedBookingOffsetType501(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType501 - value = find_attr_value_('MaxAdvancedBookingOffset', node) - if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - self.MaxAdvancedBookingOffset = value - self.validate_MaxAdvancedBookingOffsetType502(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType502 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType492.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType496.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'Occupancy': - obj_ = OccupancyType499.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Occupancy.append(obj_) - obj_.original_tagname_ = 'Occupancy' -# end class OfferRuleType491 - - -class LengthOfStayType493(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType493) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType493.subclass: - return LengthOfStayType493.subclass(*args_, **kwargs_) - else: - return LengthOfStayType493(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType494(self, value): - # Validate type TimeUnitType494, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType494' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType495(self, value): - # Validate type MinMaxMessageTypeType495, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetMaxLOS', ''] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType495' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType493', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType493') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType493': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType493') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType493', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType493'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType493', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType494(self.TimeUnit) # validate type TimeUnitType494 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType495(self.MinMaxMessageType) # validate type MinMaxMessageTypeType495 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType493 - - -class OccupancyType499(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OccupancyType499) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OccupancyType499.subclass: - return OccupancyType499.subclass(*args_, **kwargs_) - else: - return OccupancyType499(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def validate_AgeQualifyingCodeType500(self, value): - # Validate type AgeQualifyingCodeType500, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['8', '10'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType500' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType499', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType499') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OccupancyType499': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType499') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType499', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType499'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType499', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = value - self.validate_AgeQualifyingCodeType500(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType500 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class OccupancyType499 - - -class DiscountType503(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(None, Percent) - self.Percent_nsprefix_ = None - self.NightsRequired = _cast(int, NightsRequired) - self.NightsRequired_nsprefix_ = None - self.NightsDiscounted = _cast(int, NightsDiscounted) - self.NightsDiscounted_nsprefix_ = None - self.DiscountPattern = _cast(None, DiscountPattern) - self.DiscountPattern_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DiscountType503) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DiscountType503.subclass: - return DiscountType503.subclass(*args_, **kwargs_) - else: - return DiscountType503(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def get_NightsRequired(self): - return self.NightsRequired - def set_NightsRequired(self, NightsRequired): - self.NightsRequired = NightsRequired - def get_NightsDiscounted(self): - return self.NightsDiscounted - def set_NightsDiscounted(self, NightsDiscounted): - self.NightsDiscounted = NightsDiscounted - def get_DiscountPattern(self): - return self.DiscountPattern - def set_DiscountPattern(self, DiscountPattern): - self.DiscountPattern = DiscountPattern - def validate_PercentType504(self, value): - # Validate type PercentType504, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['100'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType504' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_DiscountPatternType505(self, value): - # Validate type DiscountPatternType505, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DiscountPatternType505_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType505_patterns_, )) - validate_DiscountPatternType505_patterns_ = [['^(0*1*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType503', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType503') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DiscountType503': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType503') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType503', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType503'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) - if self.NightsRequired is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) - if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) - if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType503', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = value - self.validate_PercentType504(self.Percent) # validate type PercentType504 - value = find_attr_value_('NightsRequired', node) - if value is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') - if self.NightsRequired <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 - value = find_attr_value_('NightsDiscounted', node) - if value is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') - if self.NightsDiscounted <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 - value = find_attr_value_('DiscountPattern', node) - if value is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - self.DiscountPattern = value - self.validate_DiscountPatternType505(self.DiscountPattern) # validate type DiscountPatternType505 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DiscountType503 - - -class GuestType507(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinCount = _cast(int, MinCount) - self.MinCount_nsprefix_ = None - self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) - self.FirstQualifyingPosition_nsprefix_ = None - self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) - self.LastQualifyingPosition_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestType507) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestType507.subclass: - return GuestType507.subclass(*args_, **kwargs_) - else: - return GuestType507(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinCount(self): - return self.MinCount - def set_MinCount(self, MinCount): - self.MinCount = MinCount - def get_FirstQualifyingPosition(self): - return self.FirstQualifyingPosition - def set_FirstQualifyingPosition(self, FirstQualifyingPosition): - self.FirstQualifyingPosition = FirstQualifyingPosition - def get_LastQualifyingPosition(self): - return self.LastQualifyingPosition - def set_LastQualifyingPosition(self, LastQualifyingPosition): - self.LastQualifyingPosition = LastQualifyingPosition - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_FirstQualifyingPositionType508(self, value): - # Validate type FirstQualifyingPositionType508, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType508' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType507', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType507') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestType507': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType507') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType507', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType507'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinCount is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) - if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) - if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType507', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinCount', node) - if value is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - self.MinCount = self.gds_parse_integer(value, node, 'MinCount') - if self.MinCount < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 - value = find_attr_value_('FirstQualifyingPosition', node) - if value is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - self.FirstQualifyingPosition = value - self.validate_FirstQualifyingPositionType508(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType508 - value = find_attr_value_('LastQualifyingPosition', node) - if value is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') - if self.LastQualifyingPosition <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestType507 - - -class DescriptionType509(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType509) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType509.subclass: - return DescriptionType509.subclass(*args_, **kwargs_) - else: - return DescriptionType509(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType513(self, value): - # Validate type NameType513, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType513' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType509', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType509') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType509': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType509') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType509', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType509'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType509', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType513(self.Name) # validate type NameType513 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType510.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType509 - - -class TextType510(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType510) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType510.subclass: - return TextType510.subclass(*args_, **kwargs_) - else: - return TextType510(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType511(self, value): - # Validate type TextFormatType511, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType511' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType512(self, value): - # Validate type LanguageType512, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType512_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType512_patterns_, )) - validate_LanguageType512_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType510', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType510') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType510': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType510') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType510'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType510', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType511(self.TextFormat) # validate type TextFormatType511 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType512(self.Language) # validate type LanguageType512 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType510 - - -class HotelReservationType516(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CreateDateTime = _cast(None, CreateDateTime) - self.CreateDateTime_nsprefix_ = None - self.LastModifyDateTime = _cast(None, LastModifyDateTime) - self.LastModifyDateTime_nsprefix_ = None - self.ResStatus = _cast(None, ResStatus) - self.ResStatus_nsprefix_ = None - self.RoomStayReservation = _cast(bool, RoomStayReservation) - self.RoomStayReservation_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RoomStays = RoomStays - self.RoomStays_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - self.ResGuests = ResGuests - self.ResGuests_nsprefix_ = None - self.ResGlobalInfo = ResGlobalInfo - self.ResGlobalInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType516) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType516.subclass: - return HotelReservationType516.subclass(*args_, **kwargs_) - else: - return HotelReservationType516(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RoomStays(self): - return self.RoomStays - def set_RoomStays(self, RoomStays): - self.RoomStays = RoomStays - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_ResGuests(self): - return self.ResGuests - def set_ResGuests(self, ResGuests): - self.ResGuests = ResGuests - def get_ResGlobalInfo(self): - return self.ResGlobalInfo - def set_ResGlobalInfo(self, ResGlobalInfo): - self.ResGlobalInfo = ResGlobalInfo - def get_CreateDateTime(self): - return self.CreateDateTime - def set_CreateDateTime(self, CreateDateTime): - self.CreateDateTime = CreateDateTime - def get_LastModifyDateTime(self): - return self.LastModifyDateTime - def set_LastModifyDateTime(self, LastModifyDateTime): - self.LastModifyDateTime = LastModifyDateTime - def get_ResStatus(self): - return self.ResStatus - def set_ResStatus(self, ResStatus): - self.ResStatus = ResStatus - def get_RoomStayReservation(self): - return self.RoomStayReservation - def set_RoomStayReservation(self, RoomStayReservation): - self.RoomStayReservation = RoomStayReservation - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def validate_ResStatusType634(self, value): - # Validate type ResStatusType634, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType634' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.UniqueID is not None or - self.RoomStays is not None or - self.Services is not None or - self.ResGuests is not None or - self.ResGlobalInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType516', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType516') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType516': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType516') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType516', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType516'): - if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) - if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) - if self.ResStatus is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) - if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType516', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RoomStays is not None: - namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' - self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - if self.ResGuests is not None: - namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' - self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) - if self.ResGlobalInfo is not None: - namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' - self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CreateDateTime', node) - if value is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - try: - self.CreateDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) - self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime - value = find_attr_value_('LastModifyDateTime', node) - if value is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - try: - self.LastModifyDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) - self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime - value = find_attr_value_('ResStatus', node) - if value is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - self.ResStatus = value - self.validate_ResStatusType634(self.ResStatus) # validate type ResStatusType634 - value = find_attr_value_('RoomStayReservation', node) - if value is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - if value in ('true', '1'): - self.RoomStayReservation = True - elif value in ('false', '0'): - self.RoomStayReservation = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RoomStayReservation) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType517.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RoomStays': - obj_ = RoomStaysType519.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStays = obj_ - obj_.original_tagname_ = 'RoomStays' - elif nodeName_ == 'Services': - obj_ = ServicesType553.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' - elif nodeName_ == 'ResGuests': - obj_ = ResGuestsType571.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuests = obj_ - obj_.original_tagname_ = 'ResGuests' - elif nodeName_ == 'ResGlobalInfo': - obj_ = ResGlobalInfoType589.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGlobalInfo = obj_ - obj_.original_tagname_ = 'ResGlobalInfo' -# end class HotelReservationType516 - - -class UniqueIDType517(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType517) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType517.subclass: - return UniqueIDType517.subclass(*args_, **kwargs_) - else: - return UniqueIDType517(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType518(self, value): - # Validate type TypeType518, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType518' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType517', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType517') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType517': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType517') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType517', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType517'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType517', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType518(self.Type) # validate type TypeType518 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType517 - - -class RoomTypeType522(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypeType522) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypeType522.subclass: - return RoomTypeType522.subclass(*args_, **kwargs_) - else: - return RoomTypeType522(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_RoomTypeType523(self, value): - # Validate type RoomTypeType523, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType523' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType522', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType522') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypeType522': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType522') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType522', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType522'): - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType522', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType523(self.RoomType) # validate type RoomTypeType523 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RoomTypeType522 - - -class RatePlansType524(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType524) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType524.subclass: - return RatePlansType524.subclass(*args_, **kwargs_) - else: - return RatePlansType524(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType524', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType524') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType524': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType524') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType524', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType524'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType524', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType525.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType524 - - -class RatePlanType525(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.Commission = Commission - self.Commission_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType525) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType525.subclass: - return RatePlanType525.subclass(*args_, **kwargs_) - else: - return RatePlanType525(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Commission(self): - return self.Commission - def set_Commission(self, Commission): - self.Commission = Commission - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Commission is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType525', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType525') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType525': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType525') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType525', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType525'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType525', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Commission is not None: - namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' - self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Commission': - obj_ = CommissionType526.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Commission = obj_ - obj_.original_tagname_ = 'Commission' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType528.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RatePlanType525 - - -class MealsIncludedType528(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType528) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType528.subclass: - return MealsIncludedType528.subclass(*args_, **kwargs_) - else: - return MealsIncludedType528(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def validate_MealPlanIndicatorType529(self, value): - # Validate type MealPlanIndicatorType529, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType529' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanCodesType530(self, value): - # Validate type MealPlanCodesType530, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType530' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType528', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType528') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType528': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType528') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType528', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType528'): - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType528', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType529(self.MealPlanIndicator) # validate type MealPlanIndicatorType529 - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType530(self.MealPlanCodes) # validate type MealPlanCodesType530 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType528 - - -class RateType534(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EffectiveDate = _cast(None, EffectiveDate) - self.EffectiveDate_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) - self.ExpireDateExclusiveInd_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - if Base is None: - self.Base = [] - else: - self.Base = Base - self.Base_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType534) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType534.subclass: - return RateType534.subclass(*args_, **kwargs_) - else: - return RateType534(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Base(self): - return self.Base - def set_Base(self, Base): - self.Base = Base - def add_Base(self, value): - self.Base.append(value) - def insert_Base_at(self, index, value): - self.Base.insert(index, value) - def replace_Base_at(self, index, value): - self.Base[index] = value - def get_EffectiveDate(self): - return self.EffectiveDate - def set_EffectiveDate(self, EffectiveDate): - self.EffectiveDate = EffectiveDate - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def get_ExpireDateExclusiveInd(self): - return self.ExpireDateExclusiveInd - def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): - self.ExpireDateExclusiveInd = ExpireDateExclusiveInd - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType536(self, value): - # Validate type RateTimeUnitType536, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType536' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Base - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType534', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType534') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType534': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType534') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType534', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType534'): - if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) - if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType534', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Base_ in self.Base: - namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' - Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EffectiveDate', node) - if value is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - try: - self.EffectiveDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) - self.validate_def_date(self.EffectiveDate) # validate type def_date - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - try: - self.ExpireDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (ExpireDate): %s' % exp) - self.validate_def_date(self.ExpireDate) # validate type def_date - value = find_attr_value_('ExpireDateExclusiveInd', node) - if value is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - if value in ('true', '1'): - self.ExpireDateExclusiveInd = True - elif value in ('false', '0'): - self.ExpireDateExclusiveInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType536(self.RateTimeUnit) # validate type RateTimeUnitType536 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Base': - obj_ = BaseType535.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Base.append(obj_) - obj_.original_tagname_ = 'Base' -# end class RateType534 - - -class GuestCountType538(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType538) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType538.subclass: - return GuestCountType538.subclass(*args_, **kwargs_) - else: - return GuestCountType538(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType538', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType538') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType538': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType538') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType538', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType538'): - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType538', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType538 - - -class TimeSpanType539(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.StartDateWindow = StartDateWindow - self.StartDateWindow_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType539) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType539.subclass: - return TimeSpanType539.subclass(*args_, **kwargs_) - else: - return TimeSpanType539(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StartDateWindow(self): - return self.StartDateWindow - def set_StartDateWindow(self, StartDateWindow): - self.StartDateWindow = StartDateWindow - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_DurationType541(self, value): - # Validate type DurationType541, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType541_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType541_patterns_, )) - validate_DurationType541_patterns_ = [['^(P[0-9]+N)$']] - def has__content(self): - if ( - self.StartDateWindow is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType539', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType539') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType539': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType539') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType539', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType539'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType539', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StartDateWindow is not None: - namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' - self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType541(self.Duration) # validate type DurationType541 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StartDateWindow': - obj_ = StartDateWindowType540.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StartDateWindow = obj_ - obj_.original_tagname_ = 'StartDateWindow' -# end class TimeSpanType539 - - -class PaymentCardType545(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType545) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType545.subclass: - return PaymentCardType545.subclass(*args_, **kwargs_) - else: - return PaymentCardType545(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType547(self, value): - # Validate type CardCodeType547, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType547_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType547_patterns_, )) - validate_CardCodeType547_patterns_ = [['^([A-Z][A-Z]?)$']] - def validate_ExpireDateType548(self, value): - # Validate type ExpireDateType548, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType548_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType548_patterns_, )) - validate_ExpireDateType548_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType545', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType545') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType545': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType545') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType545', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType545'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType545', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType547(self.CardCode) # validate type CardCodeType547 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType548(self.ExpireDate) # validate type ExpireDateType548 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType546.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType545 - - -class CardNumberType546(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EncryptedValue = _cast(None, EncryptedValue) - self.EncryptedValue_nsprefix_ = None - self.EncryptionMethod = _cast(None, EncryptionMethod) - self.EncryptionMethod_nsprefix_ = None - self.PlainText = PlainText - self.validate_def_nonempty_string(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType546) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType546.subclass: - return CardNumberType546.subclass(*args_, **kwargs_) - else: - return CardNumberType546(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_EncryptedValue(self): - return self.EncryptedValue - def set_EncryptedValue(self, EncryptedValue): - self.EncryptedValue = EncryptedValue - def get_EncryptionMethod(self): - return self.EncryptionMethod - def set_EncryptionMethod(self, EncryptionMethod): - self.EncryptionMethod = EncryptionMethod - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType546', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType546') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType546': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType546') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType546', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType546'): - if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) - if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType546', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EncryptedValue', node) - if value is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - self.EncryptedValue = value - self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string - value = find_attr_value_('EncryptionMethod', node) - if value is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - self.EncryptionMethod = value - self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.PlainText) -# end class CardNumberType546 - - -class ServiceRPHType551(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RPH = _cast(None, RPH) - self.RPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHType551) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHType551.subclass: - return ServiceRPHType551.subclass(*args_, **kwargs_) - else: - return ServiceRPHType551(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RPH(self): - return self.RPH - def set_RPH(self, RPH): - self.RPH = RPH - def validate_RPHType552(self, value): - # Validate type RPHType552, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RPHType552_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType552_patterns_, )) - validate_RPHType552_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType551', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType551') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHType551': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType551') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType551', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType551'): - if self.RPH is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType551', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RPH', node) - if value is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - self.RPH = value - self.validate_RPHType552(self.RPH) # validate type RPHType552 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ServiceRPHType551 - - -class ServiceType554(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) - self.ServiceCategoryCode_nsprefix_ = None - self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) - self.ServiceInventoryCode_nsprefix_ = None - self.ServiceRPH = _cast(None, ServiceRPH) - self.ServiceRPH_nsprefix_ = None - self.ServicePricingType = _cast(None, ServicePricingType) - self.ServicePricingType_nsprefix_ = None - self.Inclusive = _cast(bool, Inclusive) - self.Inclusive_nsprefix_ = None - self.Quantity = _cast(int, Quantity) - self.Quantity_nsprefix_ = None - self.ServiceDetails = ServiceDetails - self.ServiceDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType554) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType554.subclass: - return ServiceType554.subclass(*args_, **kwargs_) - else: - return ServiceType554(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceDetails(self): - return self.ServiceDetails - def set_ServiceDetails(self, ServiceDetails): - self.ServiceDetails = ServiceDetails - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ServiceCategoryCode(self): - return self.ServiceCategoryCode - def set_ServiceCategoryCode(self, ServiceCategoryCode): - self.ServiceCategoryCode = ServiceCategoryCode - def get_ServiceInventoryCode(self): - return self.ServiceInventoryCode - def set_ServiceInventoryCode(self, ServiceInventoryCode): - self.ServiceInventoryCode = ServiceInventoryCode - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def get_ServicePricingType(self): - return self.ServicePricingType - def set_ServicePricingType(self, ServicePricingType): - self.ServicePricingType = ServicePricingType - def get_Inclusive(self): - return self.Inclusive - def set_Inclusive(self, Inclusive): - self.Inclusive = Inclusive - def get_Quantity(self): - return self.Quantity - def set_Quantity(self, Quantity): - self.Quantity = Quantity - def validate_def_one_to_thirty_two_chars_string(self, value): - # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType567(self, value): - # Validate type TypeType567, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType567' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceCategoryCodeType568(self, value): - # Validate type ServiceCategoryCodeType568, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType568' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceRPHType569(self, value): - # Validate type ServiceRPHType569, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ServiceRPHType569_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType569_patterns_, )) - validate_ServiceRPHType569_patterns_ = [['^([0-9]{1,8})$']] - def validate_ServicePricingTypeType570(self, value): - # Validate type ServicePricingTypeType570, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType570' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ServiceDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType554', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType554') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType554': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType554') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType554', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType554'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) - if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) - if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) - if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) - if self.Inclusive is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) - if self.Quantity is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType554', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ServiceDetails is not None: - namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' - self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType567(self.Type) # validate type TypeType567 - value = find_attr_value_('ServiceCategoryCode', node) - if value is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - self.ServiceCategoryCode = value - self.validate_ServiceCategoryCodeType568(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType568 - value = find_attr_value_('ServiceInventoryCode', node) - if value is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - self.ServiceInventoryCode = value - self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('ServiceRPH', node) - if value is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - self.ServiceRPH = value - self.validate_ServiceRPHType569(self.ServiceRPH) # validate type ServiceRPHType569 - value = find_attr_value_('ServicePricingType', node) - if value is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - self.ServicePricingType = value - self.validate_ServicePricingTypeType570(self.ServicePricingType) # validate type ServicePricingTypeType570 - value = find_attr_value_('Inclusive', node) - if value is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - if value in ('true', '1'): - self.Inclusive = True - elif value in ('false', '0'): - self.Inclusive = False - else: - raise_parse_error(node, 'Bad boolean attribute') - value = find_attr_value_('Quantity', node) - if value is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - self.Quantity = self.gds_parse_integer(value, node, 'Quantity') - if self.Quantity <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceDetails': - obj_ = ServiceDetailsType555.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDetails = obj_ - obj_.original_tagname_ = 'ServiceDetails' -# end class ServiceType554 - - -class GuestCountType557(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType557) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType557.subclass: - return GuestCountType557.subclass(*args_, **kwargs_) - else: - return GuestCountType557(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType557', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType557') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType557': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType557') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType557', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType557'): - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType557', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType557 - - -class TimeSpanType558(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType558) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType558.subclass: - return TimeSpanType558.subclass(*args_, **kwargs_) - else: - return TimeSpanType558(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType558', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType558') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType558': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType558') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType558', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType558'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType558', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (End): %s' % exp) - self.validate_def_datetime(self.End) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TimeSpanType558 - - -class CommentsType559(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType559) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType559.subclass: - return CommentsType559.subclass(*args_, **kwargs_) - else: - return CommentsType559(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def has__content(self): - if ( - self.Comment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType559', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType559') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType559': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType559') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType559', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType559'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType559', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comment is not None: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType560.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment = obj_ - obj_.original_tagname_ = 'Comment' -# end class CommentsType559 - - -class CommentType560(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType560) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType560.subclass: - return CommentType560.subclass(*args_, **kwargs_) - else: - return CommentType560(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType560', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType560') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType560': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType560') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType560', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType560'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType560', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType561.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class CommentType560 - - -class TextType561(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType561) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType561.subclass: - return TextType561.subclass(*args_, **kwargs_) - else: - return TextType561(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType562(self, value): - # Validate type TextFormatType562, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType562' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType561', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType561') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType561': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType561') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType561'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType561', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType562(self.TextFormat) # validate type TextFormatType562 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType561 - - -class TextType565(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType565) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType565.subclass: - return TextType565.subclass(*args_, **kwargs_) - else: - return TextType565(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType566(self, value): - # Validate type TextFormatType566, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType566' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType565', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType565') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType565': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType565') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType565'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType565', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType566(self.TextFormat) # validate type TextFormatType566 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType565 - - -class ProfileType575(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Customer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Customer = Customer - self.Customer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType575) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType575.subclass: - return ProfileType575.subclass(*args_, **kwargs_) - else: - return ProfileType575(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Customer(self): - return self.Customer - def set_Customer(self, Customer): - self.Customer = Customer - def has__content(self): - if ( - self.Customer is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType575', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType575') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType575': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType575') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType575', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType575'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType575', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Customer is not None: - namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' - self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Customer': - obj_ = CustomerType576.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Customer = obj_ - obj_.original_tagname_ = 'Customer' -# end class ProfileType575 - - -class CustomerType576(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Gender = _cast(None, Gender) - self.Gender_nsprefix_ = None - self.BirthDate = _cast(None, BirthDate) - self.BirthDate_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - if Telephone is None: - self.Telephone = [] - else: - self.Telephone = Telephone - self.Telephone_nsprefix_ = None - self.Email = Email - self.Email_nsprefix_ = None - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerType576) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerType576.subclass: - return CustomerType576.subclass(*args_, **kwargs_) - else: - return CustomerType576(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_Telephone(self): - return self.Telephone - def set_Telephone(self, Telephone): - self.Telephone = Telephone - def add_Telephone(self, value): - self.Telephone.append(value) - def insert_Telephone_at(self, index, value): - self.Telephone.insert(index, value) - def replace_Telephone_at(self, index, value): - self.Telephone[index] = value - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def get_Gender(self): - return self.Gender - def set_Gender(self, Gender): - self.Gender = Gender - def get_BirthDate(self): - return self.BirthDate - def set_BirthDate(self, BirthDate): - self.BirthDate = BirthDate - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_GenderType587(self, value): - # Validate type GenderType587, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_GenderType587_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType587_patterns_, )) - validate_GenderType587_patterns_ = [['^((Unknown|Male|Female))$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_LanguageType588(self, value): - # Validate type LanguageType588, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType588_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType588_patterns_, )) - validate_LanguageType588_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.PersonName is not None or - self.Telephone or - self.Email is not None or - self.Address is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType576', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType576') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerType576': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType576') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType576', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType576'): - if self.Gender is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) - if self.BirthDate is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType576', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - for Telephone_ in self.Telephone: - namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' - Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - if self.Address is not None: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Gender', node) - if value is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - self.Gender = value - self.validate_GenderType587(self.Gender) # validate type GenderType587 - value = find_attr_value_('BirthDate', node) - if value is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - try: - self.BirthDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (BirthDate): %s' % exp) - self.validate_def_date(self.BirthDate) # validate type def_date - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType588(self.Language) # validate type LanguageType588 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType577.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'Telephone': - obj_ = TelephoneType578.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Telephone.append(obj_) - obj_.original_tagname_ = 'Telephone' - elif nodeName_ == 'Email': - obj_ = EmailType581.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email = obj_ - obj_.original_tagname_ = 'Email' - elif nodeName_ == 'Address': - obj_ = AddressType583.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address = obj_ - obj_.original_tagname_ = 'Address' -# end class CustomerType576 - - -class PersonNameType577(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NamePrefix = NamePrefix - self.validate_StringLength1to16(self.NamePrefix) - self.NamePrefix_nsprefix_ = None - self.GivenName = GivenName - self.validate_StringLength1to64(self.GivenName) - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.validate_StringLength1to64(self.Surname) - self.Surname_nsprefix_ = None - self.NameTitle = NameTitle - self.validate_StringLength1to16(self.NameTitle) - self.NameTitle_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType577) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType577.subclass: - return PersonNameType577.subclass(*args_, **kwargs_) - else: - return PersonNameType577(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NamePrefix(self): - return self.NamePrefix - def set_NamePrefix(self, NamePrefix): - self.NamePrefix = NamePrefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def get_NameTitle(self): - return self.NameTitle - def set_NameTitle(self, NameTitle): - self.NameTitle = NameTitle - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.NamePrefix is not None or - self.GivenName is not None or - self.Surname is not None or - self.NameTitle is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType577', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType577') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType577': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType577') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType577', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType577'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType577', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.NamePrefix is not None: - namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) - if self.NameTitle is not None: - namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'NamePrefix': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NamePrefix') - value_ = self.gds_validate_string(value_, node, 'NamePrefix') - self.NamePrefix = value_ - self.NamePrefix_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NamePrefix) - elif nodeName_ == 'GivenName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'GivenName') - value_ = self.gds_validate_string(value_, node, 'GivenName') - self.GivenName = value_ - self.GivenName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.GivenName) - elif nodeName_ == 'Surname': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Surname') - value_ = self.gds_validate_string(value_, node, 'Surname') - self.Surname = value_ - self.Surname_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.Surname) - elif nodeName_ == 'NameTitle': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NameTitle') - value_ = self.gds_validate_string(value_, node, 'NameTitle') - self.NameTitle = value_ - self.NameTitle_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NameTitle) -# end class PersonNameType577 - - -class TelephoneType578(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneType578) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneType578.subclass: - return TelephoneType578.subclass(*args_, **kwargs_) - else: - return TelephoneType578(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType579(self, value): - # Validate type PhoneTechTypeType579, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType579_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType579_patterns_, )) - validate_PhoneTechTypeType579_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType580(self, value): - # Validate type PhoneNumberType580, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType580_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType580_patterns_, )) - validate_PhoneNumberType580_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType578', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType578') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneType578': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType578') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType578', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType578'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType578', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType579(self.PhoneTechType) # validate type PhoneTechTypeType579 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType580(self.PhoneNumber) # validate type PhoneNumberType580 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneType578 - - -class EmailType581(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType581) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType581.subclass: - return EmailType581.subclass(*args_, **kwargs_) - else: - return EmailType581(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_email_string(self, value): - result = True - # Validate type def_email_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_email_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) - result = False - return result - validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] - def validate_RemarkType582(self, value): - # Validate type RemarkType582, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType582_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType582_patterns_, )) - validate_RemarkType582_patterns_ = [['^(newsletter:(no|yes))$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType581', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType581') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType581': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType581') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType581'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType581', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType582(self.Remark) # validate type RemarkType582 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType581 - - -class AddressType583(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType583) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType583.subclass: - return AddressType583.subclass(*args_, **kwargs_) - else: - return AddressType583(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_RemarkType586(self, value): - # Validate type RemarkType586, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType586_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType586_patterns_, )) - validate_RemarkType586_patterns_ = [['^(catalog:(no|yes))$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType583', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType583') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType583': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType583') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType583', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType583'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType583', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType586(self.Remark) # validate type RemarkType586 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType584.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType583 - - -class CountryNameType584(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType584) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType584.subclass: - return CountryNameType584.subclass(*args_, **kwargs_) - else: - return CountryNameType584(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType585(self, value): - # Validate type CodeType585, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType585_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType585_patterns_, )) - validate_CodeType585_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType584', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType584') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType584': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType584') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType584', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType584'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType584', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType585(self.Code) # validate type CodeType585 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType584 - - -class CommentsType590(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType590) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType590.subclass: - return CommentsType590.subclass(*args_, **kwargs_) - else: - return CommentsType590(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType590', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType590') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType590': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType590') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType590', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType590'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType590', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType591.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType590 - - -class CommentType591(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType591) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType591.subclass: - return CommentType591.subclass(*args_, **kwargs_) - else: - return CommentType591(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_NameType594(self, value): - # Validate type NameType594, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services', 'customer comment', 'additional info'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType594' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType591', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType591') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType591': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType591') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType591', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType591'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType591', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType594(self.Name) # validate type NameType594 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType592.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' - elif nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class CommentType591 - - -class ListItemType592(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType592) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType592.subclass: - return ListItemType592.subclass(*args_, **kwargs_) - else: - return ListItemType592(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType593(self, value): - # Validate type LanguageType593, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType593_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType593_patterns_, )) - validate_LanguageType593_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType592', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType592') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType592': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType592') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType592'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType592', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType593(self.Language) # validate type LanguageType593 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType592 - - -class SpecialRequestType596(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RequestCode = _cast(None, RequestCode) - self.RequestCode_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestType596) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestType596.subclass: - return SpecialRequestType596.subclass(*args_, **kwargs_) - else: - return SpecialRequestType596(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_RequestCode(self): - return self.RequestCode - def set_RequestCode(self, RequestCode): - self.RequestCode = RequestCode - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_CodeContextType599(self, value): - # Validate type CodeContextType599, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS', 'HOTEL'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType599' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType596', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType596') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestType596': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType596') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType596', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType596'): - if self.RequestCode is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType596', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RequestCode', node) - if value is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - self.RequestCode = value - self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType599(self.CodeContext) # validate type CodeContextType599 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType597.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class SpecialRequestType596 - - -class TextType597(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType597) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType597.subclass: - return TextType597.subclass(*args_, **kwargs_) - else: - return TextType597(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TextFormatType598(self, value): - # Validate type TextFormatType598, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType598' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType597', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType597') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType597': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType597') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType597'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType597', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType598(self.TextFormat) # validate type TextFormatType598 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType597 - - -class GuaranteePaymentType601(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.GuaranteeCode = _cast(None, GuaranteeCode) - self.GuaranteeCode_nsprefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType601) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType601.subclass: - return GuaranteePaymentType601.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType601(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_GuaranteeCode(self): - return self.GuaranteeCode - def set_GuaranteeCode(self, GuaranteeCode): - self.GuaranteeCode = GuaranteeCode - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType601', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType601') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType601': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType601') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType601', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType601'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType601', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - value = find_attr_value_('GuaranteeCode', node) - if value is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - self.GuaranteeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType602.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType615.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' -# end class GuaranteePaymentType601 - - -class AcceptedPaymentsType602(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType602) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType602.subclass: - return AcceptedPaymentsType602.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType602(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def has__content(self): - if ( - self.AcceptedPayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType602', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType602') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType602': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType602') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType602', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType602'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType602', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayment is not None: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType603.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment = obj_ - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType602 - - -class AcceptedPaymentType603(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) - self.GuaranteeTypeCode_nsprefix_ = None - self.GuaranteeID = _cast(None, GuaranteeID) - self.GuaranteeID_nsprefix_ = None - self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) - self.PaymentTransactionTypeCode_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Voucher = Voucher - self.Voucher_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType603) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType603.subclass: - return AcceptedPaymentType603.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType603(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Voucher(self): - return self.Voucher - def set_Voucher(self, Voucher): - self.Voucher = Voucher - def get_GuaranteeTypeCode(self): - return self.GuaranteeTypeCode - def set_GuaranteeTypeCode(self, GuaranteeTypeCode): - self.GuaranteeTypeCode = GuaranteeTypeCode - def get_GuaranteeID(self): - return self.GuaranteeID - def set_GuaranteeID(self, GuaranteeID): - self.GuaranteeID = GuaranteeID - def get_PaymentTransactionTypeCode(self): - return self.PaymentTransactionTypeCode - def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): - self.PaymentTransactionTypeCode = PaymentTransactionTypeCode - def has__content(self): - if ( - self.PaymentCard is not None or - self.BankAcct is not None or - self.Voucher is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType603', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType603') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType603': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType603') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType603', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType603'): - if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) - if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) - if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType603', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Voucher is not None: - namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' - self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('GuaranteeTypeCode', node) - if value is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - self.GuaranteeTypeCode = value - value = find_attr_value_('GuaranteeID', node) - if value is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - self.GuaranteeID = value - value = find_attr_value_('PaymentTransactionTypeCode', node) - if value is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - self.PaymentTransactionTypeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType604.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' - elif nodeName_ == 'BankAcct': - obj_ = BankAcctType610.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Voucher': - obj_ = VoucherType613.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Voucher = obj_ - obj_.original_tagname_ = 'Voucher' -# end class AcceptedPaymentType603 - - -class PaymentCardType604(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType604) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType604.subclass: - return PaymentCardType604.subclass(*args_, **kwargs_) - else: - return PaymentCardType604(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType608(self, value): - # Validate type CardCodeType608, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType608_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType608_patterns_, )) - validate_CardCodeType608_patterns_ = [['^([A-Z]{1,2})$']] - def validate_ExpireDateType609(self, value): - # Validate type ExpireDateType609, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType609_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType609_patterns_, )) - validate_ExpireDateType609_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType604', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType604') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType604': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType604') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType604', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType604'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType604', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType608(self.CardCode) # validate type CardCodeType608 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType609(self.ExpireDate) # validate type ExpireDateType609 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType605.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType604 - - -class CardNumberType605(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.Token = _cast(None, Token) - self.Token_nsprefix_ = None - self.TokenProviderID = _cast(None, TokenProviderID) - self.TokenProviderID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType605) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType605.subclass: - return CardNumberType605.subclass(*args_, **kwargs_) - else: - return CardNumberType605(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def get_Token(self): - return self.Token - def set_Token(self, Token): - self.Token = Token - def get_TokenProviderID(self): - return self.TokenProviderID - def set_TokenProviderID(self, TokenProviderID): - self.TokenProviderID = TokenProviderID - def validate_MaskType606(self, value): - # Validate type MaskType606, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType606_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType606_patterns_, )) - validate_MaskType606_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_TokenType607(self, value): - # Validate type TokenType607, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_TokenType607_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType607_patterns_, )) - validate_TokenType607_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType605', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType605') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType605': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType605') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType605', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType605'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - if self.Token is not None and 'Token' not in already_processed: - already_processed.add('Token') - outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) - if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType605', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType606(self.Mask) # validate type MaskType606 - value = find_attr_value_('Token', node) - if value is not None and 'Token' not in already_processed: - already_processed.add('Token') - self.Token = value - self.validate_TokenType607(self.Token) # validate type TokenType607 - value = find_attr_value_('TokenProviderID', node) - if value is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - self.TokenProviderID = value - self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardNumberType605 - - -class BankAcctType610(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.validate_StringLength1to64(self.BankAcctName) - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType610) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType610.subclass: - return BankAcctType610.subclass(*args_, **kwargs_) - else: - return BankAcctType610(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType610', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType610') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType610': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType610') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType610', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType610'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType610', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'BankAcctName') - value_ = self.gds_validate_string(value_, node, 'BankAcctName') - self.BankAcctName = value_ - self.BankAcctName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.BankAcctName) - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType611.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' -# end class BankAcctType610 - - -class BankAcctNumberType611(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.PlainText = PlainText - self.validate_NumericStringLength1to19(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType611) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType611.subclass: - return BankAcctNumberType611.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType611(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def validate_MaskType612(self, value): - # Validate type MaskType612, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType612_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType612_patterns_, )) - validate_MaskType612_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType611', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType611') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType611': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType611') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType611', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType611'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType611', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType612(self.Mask) # validate type MaskType612 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type NumericStringLength1to19 - self.validate_NumericStringLength1to19(self.PlainText) -# end class BankAcctNumberType611 - - -class VoucherType613(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ElectronicIndicator = _cast(bool, ElectronicIndicator) - self.ElectronicIndicator_nsprefix_ = None - self.Identifier = _cast(None, Identifier) - self.Identifier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VoucherType613) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VoucherType613.subclass: - return VoucherType613.subclass(*args_, **kwargs_) - else: - return VoucherType613(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ElectronicIndicator(self): - return self.ElectronicIndicator - def set_ElectronicIndicator(self, ElectronicIndicator): - self.ElectronicIndicator = ElectronicIndicator - def get_Identifier(self): - return self.Identifier - def set_Identifier(self, Identifier): - self.Identifier = Identifier - def validate_ElectronicIndicatorType614(self, value): - # Validate type ElectronicIndicatorType614, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_ElectronicIndicatorType614_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType614_patterns_, )) - validate_ElectronicIndicatorType614_patterns_ = [['^(1|true)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType613', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType613') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VoucherType613': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType613') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType613', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType613'): - if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) - if self.Identifier is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType613', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ElectronicIndicator', node) - if value is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - if value in ('true', '1'): - self.ElectronicIndicator = True - elif value in ('false', '0'): - self.ElectronicIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_ElectronicIndicatorType614(self.ElectronicIndicator) # validate type ElectronicIndicatorType614 - value = find_attr_value_('Identifier', node) - if value is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - self.Identifier = value - self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class VoucherType613 - - -class AmountPercentType615(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType615) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType615.subclass: - return AmountPercentType615.subclass(*args_, **kwargs_) - else: - return AmountPercentType615(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType615', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType615') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType615': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType615') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType615', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType615'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType615', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType615 - - -class PenaltyDescriptionType618(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType618) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType618.subclass: - return PenaltyDescriptionType618.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType618(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType618', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType618') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType618': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType618') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType618', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType618'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType618', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class PenaltyDescriptionType618 - - -class ProfileType623(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileType = _cast(None, ProfileType) - self.ProfileType_nsprefix_ = None - self.CompanyInfo = CompanyInfo - self.CompanyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType623) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType623.subclass: - return ProfileType623.subclass(*args_, **kwargs_) - else: - return ProfileType623(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyInfo(self): - return self.CompanyInfo - def set_CompanyInfo(self, CompanyInfo): - self.CompanyInfo = CompanyInfo - def get_ProfileType(self): - return self.ProfileType - def set_ProfileType(self, ProfileType): - self.ProfileType = ProfileType - def validate_ProfileTypeType632(self, value): - # Validate type ProfileTypeType632, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['4'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType632' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CompanyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType623', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType623') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType623': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType623') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType623', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType623'): - if self.ProfileType is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType623', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyInfo is not None: - namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' - self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ProfileType', node) - if value is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - self.ProfileType = value - self.validate_ProfileTypeType632(self.ProfileType) # validate type ProfileTypeType632 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyInfo': - obj_ = CompanyInfoType624.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyInfo = obj_ - obj_.original_tagname_ = 'CompanyInfo' -# end class ProfileType623 - - -class CompanyNameType625(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType625) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType625.subclass: - return CompanyNameType625.subclass(*args_, **kwargs_) - else: - return CompanyNameType625(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType625', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType625') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType625': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType625') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType625'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType625', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType625 - - -class CountryNameType627(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType627) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType627.subclass: - return CountryNameType627.subclass(*args_, **kwargs_) - else: - return CountryNameType627(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType628(self, value): - # Validate type CodeType628, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType628_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType628_patterns_, )) - validate_CodeType628_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType627', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType627') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType627': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType627') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType627', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType627'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType627', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType628(self.Code) # validate type CodeType628 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType627 - - -class TelephoneInfoType629(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneInfoType629) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneInfoType629.subclass: - return TelephoneInfoType629.subclass(*args_, **kwargs_) - else: - return TelephoneInfoType629(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType630(self, value): - # Validate type PhoneTechTypeType630, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType630_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType630_patterns_, )) - validate_PhoneTechTypeType630_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType631(self, value): - # Validate type PhoneNumberType631, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType631_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType631_patterns_, )) - validate_PhoneNumberType631_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType629', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType629') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneInfoType629': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType629') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType629', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType629'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType629', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType630(self.PhoneTechType) # validate type PhoneTechTypeType630 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType631(self.PhoneNumber) # validate type PhoneNumberType631 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneInfoType629 - - -class MultimediaDescriptionType642(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - self.VideoItems = VideoItems - self.VideoItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType642) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType642.subclass: - return MultimediaDescriptionType642.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType642(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_VideoItems(self): - return self.VideoItems - def set_VideoItems(self, VideoItems): - self.VideoItems = VideoItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType665(self, value): - # Validate type InfoCodeType665, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 17, 23, 24] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType665' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType665_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType665_patterns_, )) - validate_InfoCodeType665_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None or - self.VideoItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType642', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType642') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType642': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType642') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType642', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType642'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType642', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - if self.VideoItems is not None: - namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' - self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType665(self.InfoCode) # validate type InfoCodeType665 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType643.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType648.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' - elif nodeName_ == 'VideoItems': - obj_ = VideoItemsType657.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItems = obj_ - obj_.original_tagname_ = 'VideoItems' -# end class MultimediaDescriptionType642 - - -class TextItemsType643(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if TextItem is None: - self.TextItem = [] - else: - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType643) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType643.subclass: - return TextItemsType643.subclass(*args_, **kwargs_) - else: - return TextItemsType643(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def add_TextItem(self, value): - self.TextItem.append(value) - def insert_TextItem_at(self, index, value): - self.TextItem.insert(index, value) - def replace_TextItem_at(self, index, value): - self.TextItem[index] = value - def has__content(self): - if ( - self.TextItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType643', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType643') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType643': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType643') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType643', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType643'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType643', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for TextItem_ in self.TextItem: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType644.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem.append(obj_) - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType643 - - -class TextItemType644(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType644) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType644.subclass: - return TextItemType644.subclass(*args_, **kwargs_) - else: - return TextItemType644(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType644', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType644') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType644': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType644') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType644', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType644'): - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType644', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType645.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType644 - - -class DescriptionType645(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType645) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType645.subclass: - return DescriptionType645.subclass(*args_, **kwargs_) - else: - return DescriptionType645(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType646(self, value): - # Validate type TextFormatType646, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType646' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType647(self, value): - # Validate type LanguageType647, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType647_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType647_patterns_, )) - validate_LanguageType647_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType645', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType645') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType645': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType645') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType645'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType645', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType646(self.TextFormat) # validate type TextFormatType646 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType647(self.Language) # validate type LanguageType647 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType645 - - -class ImageItemType649(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType649) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType649.subclass: - return ImageItemType649.subclass(*args_, **kwargs_) - else: - return ImageItemType649(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType656(self, value): - # Validate type CategoryType656, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 15, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType656' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType656_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType656_patterns_, )) - validate_CategoryType656_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType649', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType649') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType649': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType649') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType649', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType649'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType649', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType656(self.Category) # validate type CategoryType656 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType650.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType653.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType649 - - -class ImageFormatType650(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.ApplicableEnd = _cast(None, ApplicableEnd) - self.ApplicableEnd_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType650) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType650.subclass: - return ImageFormatType650.subclass(*args_, **kwargs_) - else: - return ImageFormatType650(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def get_ApplicableEnd(self): - return self.ApplicableEnd - def set_ApplicableEnd(self, ApplicableEnd): - self.ApplicableEnd = ApplicableEnd - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType651(self, value): - # Validate type ApplicableStartType651, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType651_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType651_patterns_, )) - validate_ApplicableStartType651_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def validate_ApplicableEndType652(self, value): - # Validate type ApplicableEndType652, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableEndType652_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType652_patterns_, )) - validate_ApplicableEndType652_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType650', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType650') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType650': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType650') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType650', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType650'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType650', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType651(self.ApplicableStart) # validate type ApplicableStartType651 - value = find_attr_value_('ApplicableEnd', node) - if value is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - self.ApplicableEnd = value - self.validate_ApplicableEndType652(self.ApplicableEnd) # validate type ApplicableEndType652 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType650 - - -class DescriptionType653(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType653) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType653.subclass: - return DescriptionType653.subclass(*args_, **kwargs_) - else: - return DescriptionType653(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType654(self, value): - # Validate type TextFormatType654, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType654' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType655(self, value): - # Validate type LanguageType655, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType655_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType655_patterns_, )) - validate_LanguageType655_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType653', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType653') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType653': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType653') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType653'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType653', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType654(self.TextFormat) # validate type TextFormatType654 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType655(self.Language) # validate type LanguageType655 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType653 - - -class VideoItemType658(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.VideoFormat = VideoFormat - self.VideoFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemType658) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemType658.subclass: - return VideoItemType658.subclass(*args_, **kwargs_) - else: - return VideoItemType658(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoFormat(self): - return self.VideoFormat - def set_VideoFormat(self, VideoFormat): - self.VideoFormat = VideoFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType664(self, value): - # Validate type CategoryType664, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 20, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType664' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType664_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType664_patterns_, )) - validate_CategoryType664_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.VideoFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType658', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType658') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemType658': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType658') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType658', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType658'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType658', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.VideoFormat is not None: - namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' - self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType664(self.Category) # validate type CategoryType664 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoFormat': - obj_ = VideoFormatType659.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoFormat = obj_ - obj_.original_tagname_ = 'VideoFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType661.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class VideoItemType658 - - -class VideoFormatType659(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoFormatType659) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoFormatType659.subclass: - return VideoFormatType659.subclass(*args_, **kwargs_) - else: - return VideoFormatType659(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType660(self, value): - # Validate type ApplicableStartType660, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType660_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType660_patterns_, )) - validate_ApplicableStartType660_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType659', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType659') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoFormatType659': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType659') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType659', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType659'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType659', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType660(self.ApplicableStart) # validate type ApplicableStartType660 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class VideoFormatType659 - - -class DescriptionType661(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType661) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType661.subclass: - return DescriptionType661.subclass(*args_, **kwargs_) - else: - return DescriptionType661(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType662(self, value): - # Validate type TextFormatType662, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType662' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType663(self, value): - # Validate type LanguageType663, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType663_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType663_patterns_, )) - validate_LanguageType663_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType661', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType661') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType661': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType661') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType661'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType661', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType662(self.TextFormat) # validate type TextFormatType662 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType663(self.Language) # validate type LanguageType663 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType661 - - -class PositionType666(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Altitude = _cast(float, Altitude) - self.Altitude_nsprefix_ = None - self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) - self.AltitudeUnitOfMeasureCode_nsprefix_ = None - self.Latitude = _cast(float, Latitude) - self.Latitude_nsprefix_ = None - self.Longitude = _cast(float, Longitude) - self.Longitude_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PositionType666) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PositionType666.subclass: - return PositionType666.subclass(*args_, **kwargs_) - else: - return PositionType666(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Altitude(self): - return self.Altitude - def set_Altitude(self, Altitude): - self.Altitude = Altitude - def get_AltitudeUnitOfMeasureCode(self): - return self.AltitudeUnitOfMeasureCode - def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): - self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode - def get_Latitude(self): - return self.Latitude - def set_Latitude(self, Latitude): - self.Latitude = Latitude - def get_Longitude(self): - return self.Longitude - def set_Longitude(self, Longitude): - self.Longitude = Longitude - def validate_AltitudeUnitOfMeasureCodeType667(self, value): - # Validate type AltitudeUnitOfMeasureCodeType667, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType667' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType666', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType666') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PositionType666': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType666') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType666', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType666'): - if self.Altitude is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) - if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) - if self.Latitude is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) - if self.Longitude is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType666', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Altitude', node) - if value is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - value = self.gds_parse_decimal(value, node, 'Altitude') - self.Altitude = value - value = find_attr_value_('AltitudeUnitOfMeasureCode', node) - if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - self.AltitudeUnitOfMeasureCode = value - self.validate_AltitudeUnitOfMeasureCodeType667(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType667 - value = find_attr_value_('Latitude', node) - if value is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - value = self.gds_parse_decimal(value, node, 'Latitude') - self.Latitude = value - value = find_attr_value_('Longitude', node) - if value is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - value = self.gds_parse_decimal(value, node, 'Longitude') - self.Longitude = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PositionType666 - - -class ServiceType669(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MealPlanCode = _cast(None, MealPlanCode) - self.MealPlanCode_nsprefix_ = None - self.ProximityCode = _cast(int, ProximityCode) - self.ProximityCode_nsprefix_ = None - self.Included = _cast(bool, Included) - self.Included_nsprefix_ = None - self.Features = Features - self.Features_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType669) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType669.subclass: - return ServiceType669.subclass(*args_, **kwargs_) - else: - return ServiceType669(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Features(self): - return self.Features - def set_Features(self, Features): - self.Features = Features - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MealPlanCode(self): - return self.MealPlanCode - def set_MealPlanCode(self, MealPlanCode): - self.MealPlanCode = MealPlanCode - def get_ProximityCode(self): - return self.ProximityCode - def set_ProximityCode(self, ProximityCode): - self.ProximityCode = ProximityCode - def get_Included(self): - return self.Included - def set_Included(self, Included): - self.Included = Included - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def validate_MealPlanCodeType672(self, value): - # Validate type MealPlanCodeType672, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType672' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.Features is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType669', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType669') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType669': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType669') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType669', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType669'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) - if self.ProximityCode is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) - if self.Included is not None and 'Included' not in already_processed: - already_processed.add('Included') - outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType669', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Features is not None: - namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' - self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code - value = find_attr_value_('MealPlanCode', node) - if value is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - self.MealPlanCode = value - self.validate_MealPlanCodeType672(self.MealPlanCode) # validate type MealPlanCodeType672 - value = find_attr_value_('ProximityCode', node) - if value is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') - if self.ProximityCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 - value = find_attr_value_('Included', node) - if value is not None and 'Included' not in already_processed: - already_processed.add('Included') - if value in ('true', '1'): - self.Included = True - elif value in ('false', '0'): - self.Included = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Included) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Features': - obj_ = FeaturesType670.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Features = obj_ - obj_.original_tagname_ = 'Features' -# end class ServiceType669 - - -class TypeRoomType676(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StandardOccupancy = _cast(int, StandardOccupancy) - self.StandardOccupancy_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomID = _cast(None, RoomID) - self.RoomID_nsprefix_ = None - self.Size = _cast(int, Size) - self.Size_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TypeRoomType676) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TypeRoomType676.subclass: - return TypeRoomType676.subclass(*args_, **kwargs_) - else: - return TypeRoomType676(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StandardOccupancy(self): - return self.StandardOccupancy - def set_StandardOccupancy(self, StandardOccupancy): - self.StandardOccupancy = StandardOccupancy - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomID(self): - return self.RoomID - def set_RoomID(self, RoomID): - self.RoomID = RoomID - def get_Size(self): - return self.Size - def set_Size(self, Size): - self.Size = Size - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RoomTypeType677(self, value): - # Validate type RoomTypeType677, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType677' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType676', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType676') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TypeRoomType676': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType676') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType676', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType676'): - if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomID is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) - if self.Size is not None and 'Size' not in already_processed: - already_processed.add('Size') - outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType676', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StandardOccupancy', node) - if value is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') - if self.StandardOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomID', node) - if value is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - self.RoomID = value - self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 - value = find_attr_value_('Size', node) - if value is not None and 'Size' not in already_processed: - already_processed.add('Size') - self.Size = self.gds_parse_integer(value, node, 'Size') - if self.Size < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType677(self.RoomType) # validate type RoomTypeType677 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TypeRoomType676 - - -class MultimediaDescriptionType681(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType681) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType681.subclass: - return MultimediaDescriptionType681.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType681(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType693(self, value): - # Validate type InfoCodeType693, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 23, 25] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType693' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType693_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType693_patterns_, )) - validate_InfoCodeType693_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType681', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType681') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType681': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType681') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType681', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType681'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType681', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType693(self.InfoCode) # validate type InfoCodeType693 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType682.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType687.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' -# end class MultimediaDescriptionType681 - - -class TextItemsType682(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType682) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType682.subclass: - return TextItemsType682.subclass(*args_, **kwargs_) - else: - return TextItemsType682(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def has__content(self): - if ( - self.TextItem is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType682', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType682') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType682': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType682') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType682', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType682'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType682', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItem is not None: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType683.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem = obj_ - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType682 - - -class TextItemType683(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType683) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType683.subclass: - return TextItemType683.subclass(*args_, **kwargs_) - else: - return TextItemType683(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType683', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType683') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType683': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType683') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType683', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType683'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType683', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType684.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType683 - - -class DescriptionType684(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType684) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType684.subclass: - return DescriptionType684.subclass(*args_, **kwargs_) - else: - return DescriptionType684(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType685(self, value): - # Validate type TextFormatType685, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType685' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType686(self, value): - # Validate type LanguageType686, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType686_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType686_patterns_, )) - validate_LanguageType686_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType684', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType684') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType684': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType684') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType684'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType684', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType685(self.TextFormat) # validate type TextFormatType685 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType686(self.Language) # validate type LanguageType686 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType684 - - -class ImageItemType688(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType688) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType688.subclass: - return ImageItemType688.subclass(*args_, **kwargs_) - else: - return ImageItemType688(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType688', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType688') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType688': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType688') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType688', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType688'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType688', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType689.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType690.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType688 - - -class ImageFormatType689(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType689) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType689.subclass: - return ImageFormatType689.subclass(*args_, **kwargs_) - else: - return ImageFormatType689(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType689', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType689') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType689': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType689') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType689', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType689'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType689', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType689 - - -class DescriptionType690(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType690) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType690.subclass: - return DescriptionType690.subclass(*args_, **kwargs_) - else: - return DescriptionType690(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType691(self, value): - # Validate type TextFormatType691, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType691' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType692(self, value): - # Validate type LanguageType692, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType692_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType692_patterns_, )) - validate_LanguageType692_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType690', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType690') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType690': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType690') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType690'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType690', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType691(self.TextFormat) # validate type TextFormatType691 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType692(self.Language) # validate type LanguageType692 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType690 - - -class PenaltyDescriptionType698(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType698) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType698.subclass: - return PenaltyDescriptionType698.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType698(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType698', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType698') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType698': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType698') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType698', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType698'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType698', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType699.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class PenaltyDescriptionType698 - - -class TextType699(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType699) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType699.subclass: - return TextType699.subclass(*args_, **kwargs_) - else: - return TextType699(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType700(self, value): - # Validate type TextFormatType700, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType700' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType701(self, value): - # Validate type LanguageType701, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType701_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType701_patterns_, )) - validate_LanguageType701_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType699', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType699') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType699': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType699') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType699'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType699', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType700(self.TextFormat) # validate type TextFormatType700 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType701(self.Language) # validate type LanguageType701 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType699 - - -class DescriptionType704(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType704) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType704.subclass: - return DescriptionType704.subclass(*args_, **kwargs_) - else: - return DescriptionType704(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType704', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType704') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType704': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType704') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType704', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType704'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType704', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType705.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType704 - - -class TextType705(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType705) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType705.subclass: - return TextType705.subclass(*args_, **kwargs_) - else: - return TextType705(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType706(self, value): - # Validate type TextFormatType706, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType706' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType707(self, value): - # Validate type LanguageType707, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType707_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType707_patterns_, )) - validate_LanguageType707_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType705', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType705') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType705': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType705') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType705'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType705', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType706(self.TextFormat) # validate type TextFormatType706 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType707(self.Language) # validate type LanguageType707 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType705 - - -class DescriptionType710(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType710) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType710.subclass: - return DescriptionType710.subclass(*args_, **kwargs_) - else: - return DescriptionType710(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType710', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType710') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType710': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType710') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType710', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType710'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType710', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType711.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType710 - - -class TextType711(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType711) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType711.subclass: - return TextType711.subclass(*args_, **kwargs_) - else: - return TextType711(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType712(self, value): - # Validate type TextFormatType712, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType712' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType713(self, value): - # Validate type LanguageType713, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType713_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType713_patterns_, )) - validate_LanguageType713_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType711', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType711') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType711': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType711') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType711'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType711', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType712(self.TextFormat) # validate type TextFormatType712 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType713(self.Language) # validate type LanguageType713 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType711 - - -class TaxPolicyType715(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.ChargeFrequency = _cast(None, ChargeFrequency) - self.ChargeFrequency_nsprefix_ = None - self.ChargeUnit = _cast(None, ChargeUnit) - self.ChargeUnit_nsprefix_ = None - self.TaxDescription = TaxDescription - self.TaxDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPolicyType715) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPolicyType715.subclass: - return TaxPolicyType715.subclass(*args_, **kwargs_) - else: - return TaxPolicyType715(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxDescription(self): - return self.TaxDescription - def set_TaxDescription(self, TaxDescription): - self.TaxDescription = TaxDescription - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_ChargeFrequency(self): - return self.ChargeFrequency - def set_ChargeFrequency(self, ChargeFrequency): - self.ChargeFrequency = ChargeFrequency - def get_ChargeUnit(self): - return self.ChargeUnit - def set_ChargeUnit(self, ChargeUnit): - self.ChargeUnit = ChargeUnit - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_CodeType720(self, value): - # Validate type CodeType720, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType720' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeFrequencyType721(self, value): - # Validate type ChargeFrequencyType721, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType721' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeUnitType722(self, value): - # Validate type ChargeUnitType722, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['21'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType722' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.TaxDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType715', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType715') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPolicyType715': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType715') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType715', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType715'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) - if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType715', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxDescription is not None: - namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' - self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType720(self.Code) # validate type CodeType720 - value = find_attr_value_('ChargeFrequency', node) - if value is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - self.ChargeFrequency = value - self.validate_ChargeFrequencyType721(self.ChargeFrequency) # validate type ChargeFrequencyType721 - value = find_attr_value_('ChargeUnit', node) - if value is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - self.ChargeUnit = value - self.validate_ChargeUnitType722(self.ChargeUnit) # validate type ChargeUnitType722 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxDescription': - obj_ = TaxDescriptionType716.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxDescription = obj_ - obj_.original_tagname_ = 'TaxDescription' -# end class TaxPolicyType715 - - -class TextType717(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType717) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType717.subclass: - return TextType717.subclass(*args_, **kwargs_) - else: - return TextType717(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType718(self, value): - # Validate type TextFormatType718, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType718' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType719(self, value): - # Validate type LanguageType719, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType719_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType719_patterns_, )) - validate_LanguageType719_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType717', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType717') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType717': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType717') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType717'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType717', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType718(self.TextFormat) # validate type TextFormatType718 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType719(self.Language) # validate type LanguageType719 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType717 - - -class GuaranteePaymentType724(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - self.Deadline = Deadline - self.Deadline_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType724) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType724.subclass: - return GuaranteePaymentType724.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType724(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Deadline(self): - return self.Deadline - def set_Deadline(self, Deadline): - self.Deadline = Deadline - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None or - self.Deadline is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType724', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType724') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType724': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType724') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType724', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType724'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType724', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - if self.Deadline is not None: - namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' - self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType725.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType736.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' - elif nodeName_ == 'Deadline': - obj_ = DeadlineType737.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Deadline = obj_ - obj_.original_tagname_ = 'Deadline' -# end class GuaranteePaymentType724 - - -class AcceptedPaymentsType725(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AcceptedPayment is None: - self.AcceptedPayment = [] - else: - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType725) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType725.subclass: - return AcceptedPaymentsType725.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType725(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def add_AcceptedPayment(self, value): - self.AcceptedPayment.append(value) - def insert_AcceptedPayment_at(self, index, value): - self.AcceptedPayment.insert(index, value) - def replace_AcceptedPayment_at(self, index, value): - self.AcceptedPayment[index] = value - def has__content(self): - if ( - self.AcceptedPayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType725', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType725') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType725': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType725') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType725', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType725'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType725', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AcceptedPayment_ in self.AcceptedPayment: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType726.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment.append(obj_) - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType725 - - -class AcceptedPaymentType726(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Cash = Cash - self.Cash_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType726) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType726.subclass: - return AcceptedPaymentType726.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType726(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Cash(self): - return self.Cash - def set_Cash(self, Cash): - self.Cash = Cash - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.BankAcct is not None or - self.Cash is not None or - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType726', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType726') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType726': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType726') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType726', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType726'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType726', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Cash is not None: - namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' - self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcct': - obj_ = BankAcctType727.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Cash': - obj_ = CashType733.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Cash = obj_ - obj_.original_tagname_ = 'Cash' - elif nodeName_ == 'PaymentCard': - obj_ = PaymentCardType734.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class AcceptedPaymentType726 - - -class BankAcctType727(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - self.BankID = BankID - self.BankID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType727) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType727.subclass: - return BankAcctType727.subclass(*args_, **kwargs_) - else: - return BankAcctType727(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def get_BankID(self): - return self.BankID - def set_BankID(self, BankID): - self.BankID = BankID - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None or - self.BankID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType727', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType727') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType727': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType727') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType727', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType727'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType727', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - if self.BankID is not None: - namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' - self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - obj_ = BankAcctNameType728.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctName = obj_ - obj_.original_tagname_ = 'BankAcctName' - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType729.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' - elif nodeName_ == 'BankID': - obj_ = BankIDType731.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankID = obj_ - obj_.original_tagname_ = 'BankID' -# end class BankAcctType727 - - -class BankAcctNumberType729(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType729) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType729.subclass: - return BankAcctNumberType729.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType729(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType729', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType729') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType729': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType729') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType729', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType729'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType729', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType730.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankAcctNumberType729 - - -class PaymentCardType734(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.CardType = CardType - self.CardType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType734) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType734.subclass: - return PaymentCardType734.subclass(*args_, **kwargs_) - else: - return PaymentCardType734(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardType(self): - return self.CardType - def set_CardType(self, CardType): - self.CardType = CardType - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CardType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType734', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType734') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType734': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType734') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType734', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType734'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType734', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardType is not None: - namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' - self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardType': - obj_ = CardTypeType735.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardType = obj_ - obj_.original_tagname_ = 'CardType' -# end class PaymentCardType734 - - -class AmountPercentType736(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(float, Percent) - self.Percent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType736) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType736.subclass: - return AmountPercentType736.subclass(*args_, **kwargs_) - else: - return AmountPercentType736(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType736', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType736') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType736': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType736') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType736', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType736'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType736', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - value = self.gds_parse_decimal(value, node, 'Percent') - self.Percent = value - self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType736 - - -class StayRequirementType740(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StayContext = _cast(None, StayContext) - self.StayContext_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementType740) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementType740.subclass: - return StayRequirementType740.subclass(*args_, **kwargs_) - else: - return StayRequirementType740(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayContext(self): - return self.StayContext - def set_StayContext(self, StayContext): - self.StayContext = StayContext - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_StayContextType741(self, value): - # Validate type StayContextType741, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Checkin', 'Checkout'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType741' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StartType742(self, value): - # Validate type StartType742, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_StartType742_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType742_patterns_, )) - validate_StartType742_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def validate_EndType743(self, value): - # Validate type EndType743, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_EndType743_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType743_patterns_, )) - validate_EndType743_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType740', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType740') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementType740': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType740') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType740', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType740'): - if self.StayContext is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType740', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StayContext', node) - if value is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - self.StayContext = value - self.validate_StayContextType741(self.StayContext) # validate type StayContextType741 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_StartType742(self.Start) # validate type StartType742 - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_EndType743(self.End) # validate type EndType743 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StayRequirementType740 - - -class ContactInfoType748(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = _cast(None, Location) - self.Location_nsprefix_ = None - self.Addresses = Addresses - self.Addresses_nsprefix_ = None - self.Phones = Phones - self.Phones_nsprefix_ = None - self.Emails = Emails - self.Emails_nsprefix_ = None - self.URLs = URLs - self.URLs_nsprefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfoType748) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfoType748.subclass: - return ContactInfoType748.subclass(*args_, **kwargs_) - else: - return ContactInfoType748(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Addresses(self): - return self.Addresses - def set_Addresses(self, Addresses): - self.Addresses = Addresses - def get_Phones(self): - return self.Phones - def set_Phones(self, Phones): - self.Phones = Phones - def get_Emails(self): - return self.Emails - def set_Emails(self, Emails): - self.Emails = Emails - def get_URLs(self): - return self.URLs - def set_URLs(self, URLs): - self.URLs = URLs - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def validate_LocationType763(self, value): - # Validate type LocationType763, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['6'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType763' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Addresses is not None or - self.Phones is not None or - self.Emails is not None or - self.URLs is not None or - self.CompanyName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType748', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType748') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfoType748': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType748') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType748', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType748'): - if self.Location is not None and 'Location' not in already_processed: - already_processed.add('Location') - outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType748', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Addresses is not None: - namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' - self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) - if self.Phones is not None: - namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' - self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) - if self.Emails is not None: - namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' - self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) - if self.URLs is not None: - namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' - self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Location', node) - if value is not None and 'Location' not in already_processed: - already_processed.add('Location') - self.Location = value - self.validate_LocationType763(self.Location) # validate type LocationType763 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Addresses': - obj_ = AddressesType749.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Addresses = obj_ - obj_.original_tagname_ = 'Addresses' - elif nodeName_ == 'Phones': - obj_ = PhonesType755.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phones = obj_ - obj_.original_tagname_ = 'Phones' - elif nodeName_ == 'Emails': - obj_ = EmailsType758.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Emails = obj_ - obj_.original_tagname_ = 'Emails' - elif nodeName_ == 'URLs': - obj_ = URLsType760.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URLs = obj_ - obj_.original_tagname_ = 'URLs' - elif nodeName_ == 'CompanyName': - obj_ = CompanyNameType762.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' -# end class ContactInfoType748 - - -class AddressType750(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.StateProv = StateProv - self.StateProv_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType750) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType750.subclass: - return AddressType750.subclass(*args_, **kwargs_) - else: - return AddressType750(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_StateProv(self): - return self.StateProv - def set_StateProv(self, StateProv): - self.StateProv = StateProv - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType754(self, value): - # Validate type LanguageType754, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType754_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType754_patterns_, )) - validate_LanguageType754_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.StateProv is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType750', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType750') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType750': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType750') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType750', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType750'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType750', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.StateProv is not None: - namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' - self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType754(self.Language) # validate type LanguageType754 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'StateProv': - obj_ = StateProvType751.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StateProv = obj_ - obj_.original_tagname_ = 'StateProv' - elif nodeName_ == 'CountryName': - obj_ = CountryNameType752.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType750 - - -class CountryNameType752(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType752) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType752.subclass: - return CountryNameType752.subclass(*args_, **kwargs_) - else: - return CountryNameType752(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType753(self, value): - # Validate type CodeType753, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType753_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType753_patterns_, )) - validate_CodeType753_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType752', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType752') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType752': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType752') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType752', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType752'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType752', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType753(self.Code) # validate type CodeType753 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType752 - - -class PhoneType756(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhoneType756) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhoneType756.subclass: - return PhoneType756.subclass(*args_, **kwargs_) - else: - return PhoneType756(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_PhoneNumberType757(self, value): - # Validate type PhoneNumberType757, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType757_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType757_patterns_, )) - validate_PhoneNumberType757_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType756', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType756') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhoneType756': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType756') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType756', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType756'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType756', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType757(self.PhoneNumber) # validate type PhoneNumberType757 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PhoneType756 - - -class EmailType759(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmailType = _cast(None, EmailType) - self.EmailType_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType759) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType759.subclass: - return EmailType759.subclass(*args_, **kwargs_) - else: - return EmailType759(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmailType(self): - return self.EmailType - def set_EmailType(self, EmailType): - self.EmailType = EmailType - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType759', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType759') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType759': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType759') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType759'): - if self.EmailType is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType759', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmailType', node) - if value is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - self.EmailType = value - self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType759 - - -class URLType761(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType761) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType761.subclass: - return URLType761.subclass(*args_, **kwargs_) - else: - return URLType761(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_uppercase_string(self, value): - # Validate type def_uppercase_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_uppercase_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) - validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType761', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType761') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType761': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType761') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType761'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType761', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType761 - - -class CompanyNameType762(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType762) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType762.subclass: - return CompanyNameType762.subclass(*args_, **kwargs_) - else: - return CompanyNameType762(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_any_string(self, value): - result = True - # Validate type def_any_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType762', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType762') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType762': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType762') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType762'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType762', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType762 - - -class RatePlansType764(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if RatePlan is None: - self.RatePlan = [] - else: - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType764) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType764.subclass: - return RatePlansType764.subclass(*args_, **kwargs_) - else: - return RatePlansType764(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def add_RatePlan(self, value): - self.RatePlan.append(value) - def insert_RatePlan_at(self, index, value): - self.RatePlan.insert(index, value) - def replace_RatePlan_at(self, index, value): - self.RatePlan[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RatePlan - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType764', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType764') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType764': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType764') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType764', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType764'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType764', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlan_ in self.RatePlan: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType765.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan.append(obj_) - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType764 - - -class RatePlanType765(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RatePlanNotifType = _cast(None, RatePlanNotifType) - self.RatePlanNotifType_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanType = _cast(None, RatePlanType) - self.RatePlanType_nsprefix_ = None - self.RatePlanCategory = _cast(None, RatePlanCategory) - self.RatePlanCategory_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - self.RatePlanQualifier = _cast(bool, RatePlanQualifier) - self.RatePlanQualifier_nsprefix_ = None - self.BookingRules = BookingRules - self.BookingRules_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - self.Supplements = Supplements - self.Supplements_nsprefix_ = None - self.Offers = Offers - self.Offers_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType765) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType765.subclass: - return RatePlanType765.subclass(*args_, **kwargs_) - else: - return RatePlanType765(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRules(self): - return self.BookingRules - def set_BookingRules(self, BookingRules): - self.BookingRules = BookingRules - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_Supplements(self): - return self.Supplements - def set_Supplements(self, Supplements): - self.Supplements = Supplements - def get_Offers(self): - return self.Offers - def set_Offers(self, Offers): - self.Offers = Offers - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RatePlanNotifType(self): - return self.RatePlanNotifType - def set_RatePlanNotifType(self, RatePlanNotifType): - self.RatePlanNotifType = RatePlanNotifType - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanType(self): - return self.RatePlanType - def set_RatePlanType(self, RatePlanType): - self.RatePlanType = RatePlanType - def get_RatePlanCategory(self): - return self.RatePlanCategory - def set_RatePlanCategory(self, RatePlanCategory): - self.RatePlanCategory = RatePlanCategory - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def get_RatePlanQualifier(self): - return self.RatePlanQualifier - def set_RatePlanQualifier(self, RatePlanQualifier): - self.RatePlanQualifier = RatePlanQualifier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RatePlanNotifTypeType833(self, value): - # Validate type RatePlanNotifTypeType833, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Overlay', 'New', 'Full', 'Remove'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType833' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RatePlanTypeType834(self, value): - # Validate type RatePlanTypeType834, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType834' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.BookingRules is not None or - self.Rates is not None or - self.Supplements is not None or - self.Offers is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType765', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType765') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType765': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType765') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType765', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType765'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanType is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) - if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType765', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BookingRules is not None: - namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' - self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - if self.Supplements is not None: - namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' - self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) - if self.Offers is not None: - namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' - self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RatePlanNotifType', node) - if value is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - self.RatePlanNotifType = value - self.validate_RatePlanNotifTypeType833(self.RatePlanNotifType) # validate type RatePlanNotifTypeType833 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanType', node) - if value is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - self.RatePlanType = value - self.validate_RatePlanTypeType834(self.RatePlanType) # validate type RatePlanTypeType834 - value = find_attr_value_('RatePlanCategory', node) - if value is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - self.RatePlanCategory = value - self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - value = find_attr_value_('RatePlanQualifier', node) - if value is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - if value in ('true', '1'): - self.RatePlanQualifier = True - elif value in ('false', '0'): - self.RatePlanQualifier = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRules': - obj_ = BookingRulesType766.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRules = obj_ - obj_.original_tagname_ = 'BookingRules' - elif nodeName_ == 'Rates': - obj_ = RatesType779.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' - elif nodeName_ == 'Supplements': - obj_ = SupplementsType795.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplements = obj_ - obj_.original_tagname_ = 'Supplements' - elif nodeName_ == 'Offers': - obj_ = OffersType807.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offers = obj_ - obj_.original_tagname_ = 'Offers' - elif nodeName_ == 'Description': - obj_ = DescriptionType828.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class RatePlanType765 - - -class BookingRuleType767(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - self.RestrictionStatus = RestrictionStatus - self.RestrictionStatus_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRuleType767) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRuleType767.subclass: - return BookingRuleType767.subclass(*args_, **kwargs_) - else: - return BookingRuleType767(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_RestrictionStatus(self): - return self.RestrictionStatus - def set_RestrictionStatus(self, RestrictionStatus): - self.RestrictionStatus = RestrictionStatus - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_CodeContextType778(self, value): - # Validate type CodeContextType778, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType778' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.RestrictionStatus is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType767', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType767') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRuleType767': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType767') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType767', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType767'): - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType767', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - if self.RestrictionStatus is not None: - namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' - self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType778(self.CodeContext) # validate type CodeContextType778 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType768.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType772.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'RestrictionStatus': - obj_ = RestrictionStatusType775.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RestrictionStatus = obj_ - obj_.original_tagname_ = 'RestrictionStatus' -# end class BookingRuleType767 - - -class LengthOfStayType769(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType769) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType769.subclass: - return LengthOfStayType769.subclass(*args_, **kwargs_) - else: - return LengthOfStayType769(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType770(self, value): - # Validate type TimeUnitType770, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType770' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType771(self, value): - # Validate type MinMaxMessageTypeType771, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType771' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType769', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType769') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType769': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType769') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType769', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType769'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType769', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType770(self.TimeUnit) # validate type TimeUnitType770 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType771(self.MinMaxMessageType) # validate type MinMaxMessageTypeType771 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType769 - - -class RestrictionStatusType775(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Restriction = _cast(None, Restriction) - self.Restriction_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RestrictionStatusType775) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RestrictionStatusType775.subclass: - return RestrictionStatusType775.subclass(*args_, **kwargs_) - else: - return RestrictionStatusType775(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Restriction(self): - return self.Restriction - def set_Restriction(self, Restriction): - self.Restriction = Restriction - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def validate_RestrictionType776(self, value): - # Validate type RestrictionType776, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Master'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType776' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StatusType777(self, value): - # Validate type StatusType777, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Open', 'Close'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType777' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType775', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType775') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RestrictionStatusType775': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType775') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType775', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType775'): - if self.Restriction is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType775', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Restriction', node) - if value is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - self.Restriction = value - self.validate_RestrictionType776(self.Restriction) # validate type RestrictionType776 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType777(self.Status) # validate type StatusType777 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RestrictionStatusType775 - - -class RateType780(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestApplicable = _cast(int, MinGuestApplicable) - self.MinGuestApplicable_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.BaseByGuestAmts = BaseByGuestAmts - self.BaseByGuestAmts_nsprefix_ = None - self.AdditionalGuestAmounts = AdditionalGuestAmounts - self.AdditionalGuestAmounts_nsprefix_ = None - self.RateDescription = RateDescription - self.RateDescription_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType780) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType780.subclass: - return RateType780.subclass(*args_, **kwargs_) - else: - return RateType780(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmts(self): - return self.BaseByGuestAmts - def set_BaseByGuestAmts(self, BaseByGuestAmts): - self.BaseByGuestAmts = BaseByGuestAmts - def get_AdditionalGuestAmounts(self): - return self.AdditionalGuestAmounts - def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): - self.AdditionalGuestAmounts = AdditionalGuestAmounts - def get_RateDescription(self): - return self.RateDescription - def set_RateDescription(self, RateDescription): - self.RateDescription = RateDescription - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_MinGuestApplicable(self): - return self.MinGuestApplicable - def set_MinGuestApplicable(self, MinGuestApplicable): - self.MinGuestApplicable = MinGuestApplicable - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType793(self, value): - # Validate type RateTimeUnitType793, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType793' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_DurationType794(self, value): - # Validate type DurationType794, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType794_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType794_patterns_, )) - validate_DurationType794_patterns_ = [['^(P[0-9]+N)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.BaseByGuestAmts is not None or - self.AdditionalGuestAmounts is not None or - self.RateDescription is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType780', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType780') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType780': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType780') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType780', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType780'): - if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType780', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BaseByGuestAmts is not None: - namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' - self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) - if self.AdditionalGuestAmounts is not None: - namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' - self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) - if self.RateDescription is not None: - namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' - self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestApplicable', node) - if value is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') - if self.MinGuestApplicable <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType793(self.RateTimeUnit) # validate type RateTimeUnitType793 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType794(self.Duration) # validate type DurationType794 - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmts': - obj_ = BaseByGuestAmtsType781.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmts = obj_ - obj_.original_tagname_ = 'BaseByGuestAmts' - elif nodeName_ == 'AdditionalGuestAmounts': - obj_ = AdditionalGuestAmountsType784.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmounts = obj_ - obj_.original_tagname_ = 'AdditionalGuestAmounts' - elif nodeName_ == 'RateDescription': - obj_ = RateDescriptionType786.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RateDescription = obj_ - obj_.original_tagname_ = 'RateDescription' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType790.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RateType780 - - -class BaseByGuestAmtType782(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NumberOfGuests = _cast(int, NumberOfGuests) - self.NumberOfGuests_nsprefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtType782) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtType782.subclass: - return BaseByGuestAmtType782.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtType782(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NumberOfGuests(self): - return self.NumberOfGuests - def set_NumberOfGuests(self, NumberOfGuests): - self.NumberOfGuests = NumberOfGuests - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType783(self, value): - # Validate type TypeType783, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['7', '25'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType783' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType782', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType782') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType782': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType782') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType782', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType782'): - if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType782', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('NumberOfGuests', node) - if value is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') - if self.NumberOfGuests <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType783(self.Type) # validate type TypeType783 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseByGuestAmtType782 - - -class RateDescriptionType786(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateDescriptionType786) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateDescriptionType786.subclass: - return RateDescriptionType786.subclass(*args_, **kwargs_) - else: - return RateDescriptionType786(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType789(self, value): - # Validate type NameType789, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType789' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType786', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType786') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateDescriptionType786': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType786') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType786', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType786'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType786', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType789(self.Name) # validate type NameType789 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType787.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' -# end class RateDescriptionType786 - - -class ListItemType787(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType787) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType787.subclass: - return ListItemType787.subclass(*args_, **kwargs_) - else: - return ListItemType787(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType788(self, value): - # Validate type LanguageType788, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType788_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType788_patterns_, )) - validate_LanguageType788_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType787', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType787') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType787': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType787') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType787'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType787', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType788(self.Language) # validate type LanguageType788 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType787 - - -class MealsIncludedType790(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Breakfast = _cast(bool, Breakfast) - self.Breakfast_nsprefix_ = None - self.Lunch = _cast(bool, Lunch) - self.Lunch_nsprefix_ = None - self.Dinner = _cast(bool, Dinner) - self.Dinner_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType790) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType790.subclass: - return MealsIncludedType790.subclass(*args_, **kwargs_) - else: - return MealsIncludedType790(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Breakfast(self): - return self.Breakfast - def set_Breakfast(self, Breakfast): - self.Breakfast = Breakfast - def get_Lunch(self): - return self.Lunch - def set_Lunch(self, Lunch): - self.Lunch = Lunch - def get_Dinner(self): - return self.Dinner - def set_Dinner(self, Dinner): - self.Dinner = Dinner - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_MealPlanCodesType791(self, value): - # Validate type MealPlanCodesType791, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType791' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanIndicatorType792(self, value): - # Validate type MealPlanIndicatorType792, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType792' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType790', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType790') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType790': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType790') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType790', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType790'): - if self.Breakfast is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) - if self.Lunch is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) - if self.Dinner is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType790', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Breakfast', node) - if value is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - if value in ('true', '1'): - self.Breakfast = True - elif value in ('false', '0'): - self.Breakfast = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Breakfast) # validate type def_bool - value = find_attr_value_('Lunch', node) - if value is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - if value in ('true', '1'): - self.Lunch = True - elif value in ('false', '0'): - self.Lunch = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Lunch) # validate type def_bool - value = find_attr_value_('Dinner', node) - if value is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - if value in ('true', '1'): - self.Dinner = True - elif value in ('false', '0'): - self.Dinner = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Dinner) # validate type def_bool - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType791(self.MealPlanCodes) # validate type MealPlanCodesType791 - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType792(self.MealPlanIndicator) # validate type MealPlanIndicatorType792 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType790 - - -class SupplementType796(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) - self.AddToBasicRateIndicator_nsprefix_ = None - self.ChargeTypeCode = _cast(None, ChargeTypeCode) - self.ChargeTypeCode_nsprefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.MandatoryIndicator = _cast(bool, MandatoryIndicator) - self.MandatoryIndicator_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.PrerequisiteInventory = PrerequisiteInventory - self.PrerequisiteInventory_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementType796) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementType796.subclass: - return SupplementType796.subclass(*args_, **kwargs_) - else: - return SupplementType796(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PrerequisiteInventory(self): - return self.PrerequisiteInventory - def set_PrerequisiteInventory(self, PrerequisiteInventory): - self.PrerequisiteInventory = PrerequisiteInventory - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_AddToBasicRateIndicator(self): - return self.AddToBasicRateIndicator - def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): - self.AddToBasicRateIndicator = AddToBasicRateIndicator - def get_ChargeTypeCode(self): - return self.ChargeTypeCode - def set_ChargeTypeCode(self, ChargeTypeCode): - self.ChargeTypeCode = ChargeTypeCode - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_MandatoryIndicator(self): - return self.MandatoryIndicator - def set_MandatoryIndicator(self, MandatoryIndicator): - self.MandatoryIndicator = MandatoryIndicator - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_AddToBasicRateIndicatorType804(self, value): - # Validate type AddToBasicRateIndicatorType804, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType804' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeTypeCodeType805(self, value): - # Validate type ChargeTypeCodeType805, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '12', '18', '19', '20', '21', '24'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType805' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_InvTypeType806(self, value): - # Validate type InvTypeType806, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType806' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.PrerequisiteInventory is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType796', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType796') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementType796': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType796') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType796', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType796'): - if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) - if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType796', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PrerequisiteInventory is not None: - namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' - self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AddToBasicRateIndicator', node) - if value is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - self.AddToBasicRateIndicator = value - self.validate_AddToBasicRateIndicatorType804(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType804 - value = find_attr_value_('ChargeTypeCode', node) - if value is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - self.ChargeTypeCode = value - self.validate_ChargeTypeCodeType805(self.ChargeTypeCode) # validate type ChargeTypeCodeType805 - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType806(self.InvType) # validate type InvTypeType806 - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('MandatoryIndicator', node) - if value is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - if value in ('true', '1'): - self.MandatoryIndicator = True - elif value in ('false', '0'): - self.MandatoryIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PrerequisiteInventory': - obj_ = PrerequisiteInventoryType797.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PrerequisiteInventory = obj_ - obj_.original_tagname_ = 'PrerequisiteInventory' - elif nodeName_ == 'Description': - obj_ = DescriptionType799.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class SupplementType796 - - -class PrerequisiteInventoryType797(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PrerequisiteInventoryType797) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PrerequisiteInventoryType797.subclass: - return PrerequisiteInventoryType797.subclass(*args_, **kwargs_) - else: - return PrerequisiteInventoryType797(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InvTypeType798(self, value): - # Validate type InvTypeType798, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType798' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType797', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType797') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType797': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType797') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType797', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType797'): - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType797', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType798(self.InvType) # validate type InvTypeType798 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PrerequisiteInventoryType797 - - -class DescriptionType799(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType799) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType799.subclass: - return DescriptionType799.subclass(*args_, **kwargs_) - else: - return DescriptionType799(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType803(self, value): - # Validate type NameType803, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType803' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType799', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType799') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType799': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType799') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType799', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType799'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType799', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType803(self.Name) # validate type NameType803 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType800.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType799 - - -class TextType800(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType800) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType800.subclass: - return TextType800.subclass(*args_, **kwargs_) - else: - return TextType800(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType801(self, value): - # Validate type TextFormatType801, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType801' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType802(self, value): - # Validate type LanguageType802, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType802_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType802_patterns_, )) - validate_LanguageType802_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType800', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType800') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType800': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType800') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType800'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType800', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType801(self.TextFormat) # validate type TextFormatType801 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType802(self.Language) # validate type LanguageType802 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType800 - - -class OfferRuleType810(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) - self.MinAdvancedBookingOffset_nsprefix_ = None - self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) - self.MaxAdvancedBookingOffset_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - if Occupancy is None: - self.Occupancy = [] - else: - self.Occupancy = Occupancy - self.Occupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRuleType810) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRuleType810.subclass: - return OfferRuleType810.subclass(*args_, **kwargs_) - else: - return OfferRuleType810(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_Occupancy(self): - return self.Occupancy - def set_Occupancy(self, Occupancy): - self.Occupancy = Occupancy - def add_Occupancy(self, value): - self.Occupancy.append(value) - def insert_Occupancy_at(self, index, value): - self.Occupancy.insert(index, value) - def replace_Occupancy_at(self, index, value): - self.Occupancy[index] = value - def get_MinAdvancedBookingOffset(self): - return self.MinAdvancedBookingOffset - def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): - self.MinAdvancedBookingOffset = MinAdvancedBookingOffset - def get_MaxAdvancedBookingOffset(self): - return self.MaxAdvancedBookingOffset - def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): - self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset - def validate_MinAdvancedBookingOffsetType820(self, value): - # Validate type MinAdvancedBookingOffsetType820, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MinAdvancedBookingOffsetType820_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType820_patterns_, )) - validate_MinAdvancedBookingOffsetType820_patterns_ = [['^(P[0-9]+D)$']] - def validate_MaxAdvancedBookingOffsetType821(self, value): - # Validate type MaxAdvancedBookingOffsetType821, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaxAdvancedBookingOffsetType821_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType821_patterns_, )) - validate_MaxAdvancedBookingOffsetType821_patterns_ = [['^(P[0-9]+D)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.Occupancy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType810', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType810') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRuleType810': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType810') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType810', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType810'): - if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) - if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType810', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - for Occupancy_ in self.Occupancy: - namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' - Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinAdvancedBookingOffset', node) - if value is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - self.MinAdvancedBookingOffset = value - self.validate_MinAdvancedBookingOffsetType820(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType820 - value = find_attr_value_('MaxAdvancedBookingOffset', node) - if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - self.MaxAdvancedBookingOffset = value - self.validate_MaxAdvancedBookingOffsetType821(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType821 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType811.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType815.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'Occupancy': - obj_ = OccupancyType818.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Occupancy.append(obj_) - obj_.original_tagname_ = 'Occupancy' -# end class OfferRuleType810 - - -class LengthOfStayType812(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType812) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType812.subclass: - return LengthOfStayType812.subclass(*args_, **kwargs_) - else: - return LengthOfStayType812(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType813(self, value): - # Validate type TimeUnitType813, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType813' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType814(self, value): - # Validate type MinMaxMessageTypeType814, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetMaxLOS', ''] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType814' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType812', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType812') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType812': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType812') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType812', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType812'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType812', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType813(self.TimeUnit) # validate type TimeUnitType813 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType814(self.MinMaxMessageType) # validate type MinMaxMessageTypeType814 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType812 - - -class OccupancyType818(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OccupancyType818) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OccupancyType818.subclass: - return OccupancyType818.subclass(*args_, **kwargs_) - else: - return OccupancyType818(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def validate_AgeQualifyingCodeType819(self, value): - # Validate type AgeQualifyingCodeType819, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['8', '10'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType819' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType818', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType818') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OccupancyType818': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType818') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType818', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType818'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType818', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = value - self.validate_AgeQualifyingCodeType819(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType819 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class OccupancyType818 - - -class DiscountType822(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(None, Percent) - self.Percent_nsprefix_ = None - self.NightsRequired = _cast(int, NightsRequired) - self.NightsRequired_nsprefix_ = None - self.NightsDiscounted = _cast(int, NightsDiscounted) - self.NightsDiscounted_nsprefix_ = None - self.DiscountPattern = _cast(None, DiscountPattern) - self.DiscountPattern_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DiscountType822) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DiscountType822.subclass: - return DiscountType822.subclass(*args_, **kwargs_) - else: - return DiscountType822(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def get_NightsRequired(self): - return self.NightsRequired - def set_NightsRequired(self, NightsRequired): - self.NightsRequired = NightsRequired - def get_NightsDiscounted(self): - return self.NightsDiscounted - def set_NightsDiscounted(self, NightsDiscounted): - self.NightsDiscounted = NightsDiscounted - def get_DiscountPattern(self): - return self.DiscountPattern - def set_DiscountPattern(self, DiscountPattern): - self.DiscountPattern = DiscountPattern - def validate_PercentType823(self, value): - # Validate type PercentType823, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['100'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType823' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_DiscountPatternType824(self, value): - # Validate type DiscountPatternType824, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DiscountPatternType824_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType824_patterns_, )) - validate_DiscountPatternType824_patterns_ = [['^(0*1*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType822', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType822') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DiscountType822': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType822') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType822', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType822'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) - if self.NightsRequired is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) - if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) - if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType822', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = value - self.validate_PercentType823(self.Percent) # validate type PercentType823 - value = find_attr_value_('NightsRequired', node) - if value is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') - if self.NightsRequired <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 - value = find_attr_value_('NightsDiscounted', node) - if value is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') - if self.NightsDiscounted <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 - value = find_attr_value_('DiscountPattern', node) - if value is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - self.DiscountPattern = value - self.validate_DiscountPatternType824(self.DiscountPattern) # validate type DiscountPatternType824 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DiscountType822 - - -class GuestType826(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinCount = _cast(int, MinCount) - self.MinCount_nsprefix_ = None - self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) - self.FirstQualifyingPosition_nsprefix_ = None - self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) - self.LastQualifyingPosition_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestType826) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestType826.subclass: - return GuestType826.subclass(*args_, **kwargs_) - else: - return GuestType826(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinCount(self): - return self.MinCount - def set_MinCount(self, MinCount): - self.MinCount = MinCount - def get_FirstQualifyingPosition(self): - return self.FirstQualifyingPosition - def set_FirstQualifyingPosition(self, FirstQualifyingPosition): - self.FirstQualifyingPosition = FirstQualifyingPosition - def get_LastQualifyingPosition(self): - return self.LastQualifyingPosition - def set_LastQualifyingPosition(self, LastQualifyingPosition): - self.LastQualifyingPosition = LastQualifyingPosition - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_FirstQualifyingPositionType827(self, value): - # Validate type FirstQualifyingPositionType827, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType827' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType826', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType826') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestType826': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType826') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType826', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType826'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinCount is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) - if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) - if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType826', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinCount', node) - if value is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - self.MinCount = self.gds_parse_integer(value, node, 'MinCount') - if self.MinCount < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 - value = find_attr_value_('FirstQualifyingPosition', node) - if value is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - self.FirstQualifyingPosition = value - self.validate_FirstQualifyingPositionType827(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType827 - value = find_attr_value_('LastQualifyingPosition', node) - if value is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') - if self.LastQualifyingPosition <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestType826 - - -class DescriptionType828(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType828) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType828.subclass: - return DescriptionType828.subclass(*args_, **kwargs_) - else: - return DescriptionType828(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType832(self, value): - # Validate type NameType832, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType832' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType828', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType828') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType828': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType828') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType828', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType828'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType828', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType832(self.Name) # validate type NameType832 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType829.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType828 - - -class TextType829(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType829) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType829.subclass: - return TextType829.subclass(*args_, **kwargs_) - else: - return TextType829(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType830(self, value): - # Validate type TextFormatType830, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType830' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType831(self, value): - # Validate type LanguageType831, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType831_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType831_patterns_, )) - validate_LanguageType831_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType829', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType829') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType829': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType829') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType829'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType829', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType830(self.TextFormat) # validate type TextFormatType830 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType831(self.Language) # validate type LanguageType831 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType829 - - -class ErrorType836(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType836) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType836.subclass: - return ErrorType836.subclass(*args_, **kwargs_) - else: - return ErrorType836(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType837(self, value): - # Validate type TypeType837, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType837' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType836', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType836') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType836': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType836') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType836'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType836', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType837(self.Type) # validate type TypeType837 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType836 - - -class WarningType839(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType839) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType839.subclass: - return WarningType839.subclass(*args_, **kwargs_) - else: - return WarningType839(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType839', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType839') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType839': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType839') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType839'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType839', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType839 - - -# -# End data representation classes. -# - - -GDSClassesMapping = { -} - - -USAGE_TEXT = """ -Usage: python .py [ -s ] -""" - - -def usage(): - print(USAGE_TEXT) - sys.exit(1) - - -def get_root_tag(node): - tag = Tag_pattern_.match(node.tag).groups()[-1] - prefix_tag = TagNamePrefix + tag - rootClass = GDSClassesMapping.get(prefix_tag) - if rootClass is None: - rootClass = globals().get(prefix_tag) - return tag, rootClass - - -def get_required_ns_prefix_defs(rootNode): - '''Get all name space prefix definitions required in this XML doc. - Return a dictionary of definitions and a char string of definitions. - ''' - nsmap = { - prefix: uri - for node in rootNode.iter() - for (prefix, uri) in node.nsmap.items() - if prefix is not None - } - namespacedefs = ' '.join([ - 'xmlns:{}="{}"'.format(prefix, uri) - for prefix, uri in nsmap.items() - ]) - return nsmap, namespacedefs - - -def parse(inFileName, silence=False, print_warnings=True): - global CapturedNsmap_ - gds_collector = GdsCollector_() - parser = None - doc = parsexml_(inFileName, parser) - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode) - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - sys.stdout.write('\n') - rootObj.export( - sys.stdout, 0, name_=rootTag, - namespacedef_=namespacedefs, - pretty_print=True) - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj - - -def parseEtree(inFileName, silence=False, print_warnings=True, - mapping=None, reverse_mapping=None, nsmap=None): - parser = None - doc = parsexml_(inFileName, parser) - gds_collector = GdsCollector_() - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - if mapping is None: - mapping = {} - if reverse_mapping is None: - reverse_mapping = {} - rootElement = rootObj.to_etree( - None, name_=rootTag, mapping_=mapping, - reverse_mapping_=reverse_mapping, nsmap_=nsmap) - reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - content = etree_.tostring( - rootElement, pretty_print=True, - xml_declaration=True, encoding="utf-8") - sys.stdout.write(str(content)) - sys.stdout.write('\n') - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj, rootElement, mapping, reverse_node_mapping - - -def parseString(inString, silence=False, print_warnings=True): - '''Parse a string, create the object tree, and export it. - - Arguments: - - inString -- A string. This XML fragment should not start - with an XML declaration containing an encoding. - - silence -- A boolean. If False, export the object. - Returns -- The root object in the tree. - ''' - parser = None - rootNode= parsexmlstring_(inString, parser) - gds_collector = GdsCollector_() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - if not SaveElementTreeNode: - rootNode = None - if not silence: - sys.stdout.write('\n') - rootObj.export( - sys.stdout, 0, name_=rootTag, - namespacedef_='') - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj - - -def parseLiteral(inFileName, silence=False, print_warnings=True): - parser = None - doc = parsexml_(inFileName, parser) - gds_collector = GdsCollector_() - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - sys.stdout.write('#from alpine_bits_classes import *\n\n') - sys.stdout.write('import alpine_bits_classes as model_\n\n') - sys.stdout.write('rootObj = model_.rootClass(\n') - rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) - sys.stdout.write(')\n') - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj - - -def main(): - args = sys.argv[1:] - if len(args) == 1: - parse(args[0]) - else: - usage() - - -if __name__ == '__main__': - #import pdb; pdb.set_trace() - main() - -RenameMappings_ = { -} - -# -# Mapping of namespaces to types defined in them -# and the file in which each is defined. -# simpleTypes are marked "ST" and complexTypes "CT". -NamespaceToDefMappings_ = {'http://www.opentravel.org/OTA/2003/05': [('def_send_complete', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_nonempty_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_any_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_uppercase_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_email_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_invTypeCode_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_url_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_three_char_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_one_to_sixteen_chars_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_one_to_thirty_two_chars_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_int_gt0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_int_ge0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_decimal_ge0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_decimal_gt0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_date', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_datetime', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_bool', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_alpinebits_code', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('TimeUnitType', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('DateOrTimeOrDateTimeType', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('DateOrDateTimeType', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to8', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to32', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to64', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to128', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to180', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to255', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to8', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to16', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to32', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to64', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to128', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to255', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength3', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to4', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to10', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to99', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to9999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to3', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to4', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to99', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to9999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to16', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to19', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength2', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength4', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to3', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to5', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to8', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength15to50', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST')]} - -__all__ = [ - "AcceptedPaymentType", - "AcceptedPaymentType152", - "AcceptedPaymentType242", - "AcceptedPaymentType358", - "AcceptedPaymentType603", - "AcceptedPaymentType726", - "AcceptedPaymentsType", - "AcceptedPaymentsType151", - "AcceptedPaymentsType241", - "AcceptedPaymentsType357", - "AcceptedPaymentsType602", - "AcceptedPaymentsType725", - "AdditionalGuestAmountType", - "AdditionalGuestAmountType466", - "AdditionalGuestAmountType785", - "AdditionalGuestAmountsType", - "AdditionalGuestAmountsType465", - "AdditionalGuestAmountsType784", - "AddressInfoType", - "AddressInfoType175", - "AddressInfoType626", - "AddressType", - "AddressType132", - "AddressType248", - "AddressType382", - "AddressType583", - "AddressType750", - "AddressesType", - "AddressesType381", - "AddressesType749", - "AffiliationInfoType", - "AffiliationInfoType376", - "AffiliationInfoType744", - "AmenitiesType", - "AmenitiesType310", - "AmenitiesType678", - "AmenityType", - "AmenityType311", - "AmenityType679", - "AmountPercentType", - "AmountPercentType164", - "AmountPercentType247", - "AmountPercentType368", - "AmountPercentType615", - "AmountPercentType736", - "ArrivalDaysOfWeekType", - "ArrivalDaysOfWeekType426", - "ArrivalDaysOfWeekType454", - "ArrivalDaysOfWeekType497", - "ArrivalDaysOfWeekType773", - "ArrivalDaysOfWeekType816", - "AttendeeInfoType", - "AwardType", - "AwardType378", - "AwardType746", - "AwardsType", - "AwardsType377", - "AwardsType745", - "BankAcctNameType", - "BankAcctNameType360", - "BankAcctNameType728", - "BankAcctNumberType", - "BankAcctNumberType160", - "BankAcctNumberType244", - "BankAcctNumberType361", - "BankAcctNumberType611", - "BankAcctNumberType729", - "BankAcctType", - "BankAcctType159", - "BankAcctType243", - "BankAcctType359", - "BankAcctType610", - "BankAcctType727", - "BankIDType", - "BankIDType363", - "BankIDType731", - "BaseByGuestAmtType", - "BaseByGuestAmtType463", - "BaseByGuestAmtType782", - "BaseByGuestAmtsType", - "BaseByGuestAmtsType462", - "BaseByGuestAmtsType781", - "BaseType", - "BaseType535", - "BaseType84", - "BasicPropertyInfoType", - "BasicPropertyInfoType182", - "BasicPropertyInfoType633", - "BookingRuleType", - "BookingRuleType448", - "BookingRuleType767", - "BookingRulesType", - "BookingRulesType447", - "BookingRulesType766", - "CancelPenaltiesType", - "CancelPenaltiesType165", - "CancelPenaltiesType616", - "CancelPenaltyType", - "CancelPenaltyType166", - "CancelPenaltyType223", - "CancelPenaltyType329", - "CancelPenaltyType617", - "CancelPenaltyType697", - "CancelPolicyType", - "CancelPolicyType328", - "CancelPolicyType696", - "CardNumberType", - "CardNumberType154", - "CardNumberType40", - "CardNumberType546", - "CardNumberType605", - "CardNumberType95", - "CardTypeType", - "CardTypeType367", - "CardTypeType735", - "CashType", - "CashType365", - "CashType733", - "CategoryCodesType", - "CategoryCodesType270", - "CategoryCodesType638", - "CategoryType", - "CheckoutChargeType", - "CheckoutChargeType335", - "CheckoutChargeType703", - "CheckoutChargesType", - "CheckoutChargesType334", - "CheckoutChargesType702", - "CommentType", - "CommentType109", - "CommentType140", - "CommentType23", - "CommentType34", - "CommentType560", - "CommentType591", - "CommentsType", - "CommentsType108", - "CommentsType139", - "CommentsType22", - "CommentsType33", - "CommentsType559", - "CommentsType590", - "CommissionPayableAmountType", - "CommissionPayableAmountType527", - "CommissionPayableAmountType76", - "CommissionType", - "CommissionType526", - "CommissionType75", - "CompanyInfoType", - "CompanyInfoType173", - "CompanyInfoType624", - "CompanyNameType", - "CompanyNameType174", - "CompanyNameType255", - "CompanyNameType394", - "CompanyNameType625", - "CompanyNameType762", - "ContactInfoType", - "ContactInfoType380", - "ContactInfoType748", - "ContactInfosType", - "ContactInfosType379", - "ContactInfosType747", - "CountryNameType", - "CountryNameType133", - "CountryNameType176", - "CountryNameType249", - "CountryNameType384", - "CountryNameType47", - "CountryNameType584", - "CountryNameType627", - "CountryNameType752", - "CustomerType", - "CustomerType125", - "CustomerType576", - "DOW_RestrictionsType", - "DOW_RestrictionsType425", - "DOW_RestrictionsType453", - "DOW_RestrictionsType496", - "DOW_RestrictionsType772", - "DOW_RestrictionsType815", - "DateRangeType", - "DateType", - "DatesType", - "DeadlineType", - "DeadlineType369", - "DeadlineType737", - "DepartureDaysOfWeekType", - "DepartureDaysOfWeekType427", - "DepartureDaysOfWeekType455", - "DepartureDaysOfWeekType498", - "DepartureDaysOfWeekType774", - "DepartureDaysOfWeekType817", - "DepositPaymentsType", - "DepositPaymentsType149", - "DepositPaymentsType600", - "DescriptionType", - "DescriptionType197", - "DescriptionType202", - "DescriptionType213", - "DescriptionType219", - "DescriptionType228", - "DescriptionType232", - "DescriptionType277", - "DescriptionType285", - "DescriptionType293", - "DescriptionType316", - "DescriptionType322", - "DescriptionType336", - "DescriptionType342", - "DescriptionType415", - "DescriptionType428", - "DescriptionType480", - "DescriptionType509", - "DescriptionType645", - "DescriptionType653", - "DescriptionType661", - "DescriptionType684", - "DescriptionType690", - "DescriptionType704", - "DescriptionType710", - "DescriptionType799", - "DescriptionType828", - "DescriptionsType", - "DescriptionsType272", - "DescriptionsType640", - "DiscountType", - "DiscountType503", - "DiscountType822", - "EmailType", - "EmailType130", - "EmailType253", - "EmailType391", - "EmailType581", - "EmailType759", - "EmailsType", - "EmailsType390", - "EmailsType758", - "EmployeeInfoType", - "EndDateWindowType", - "ErrorType", - "ErrorType12", - "ErrorType191", - "ErrorType258", - "ErrorType263", - "ErrorType434", - "ErrorType441", - "ErrorType52", - "ErrorType6", - "ErrorType61", - "ErrorType836", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "ErrorsType", - "EventContactType", - "EventContactsType", - "EventReportType", - "EventReportsType", - "EventSiteType", - "EventSitesType", - "Event_IDType", - "FacilityInfoType", - "FacilityInfoType305", - "FacilityInfoType673", - "FeatureType", - "FeatureType303", - "FeatureType671", - "FeaturesType", - "FeaturesType302", - "FeaturesType670", - "GeneralEventInfoType", - "CustomerNameType", - "GuaranteeAcceptedType", - "GuaranteeAcceptedType544", - "GuaranteeAcceptedType93", - "GuaranteePaymentPolicyType", - "GuaranteePaymentPolicyType355", - "GuaranteePaymentPolicyType723", - "GuaranteePaymentType", - "GuaranteePaymentType150", - "GuaranteePaymentType240", - "GuaranteePaymentType356", - "GuaranteePaymentType601", - "GuaranteePaymentType724", - "GuaranteeType", - "GuaranteeType542", - "GuaranteeType91", - "GuaranteesAcceptedType", - "GuaranteesAcceptedType543", - "GuaranteesAcceptedType92", - "GuestCountType", - "GuestCountType106", - "GuestCountType20", - "GuestCountType538", - "GuestCountType557", - "GuestCountType87", - "GuestCountsType", - "GuestCountsType105", - "GuestCountsType19", - "GuestCountsType537", - "GuestCountsType556", - "GuestCountsType86", - "GuestRoomType", - "GuestRoomType307", - "GuestRoomType675", - "GuestRoomsType", - "GuestRoomsType306", - "GuestRoomsType674", - "GuestType", - "GuestType507", - "GuestType826", - "GuestsType", - "GuestsType506", - "GuestsType825", - "HotelCategoryType", - "HotelCategoryType271", - "HotelCategoryType639", - "HotelDescriptiveContentType", - "HotelDescriptiveContentType268", - "HotelDescriptiveContentType636", - "HotelDescriptiveContentsType", - "HotelDescriptiveContentsType267", - "HotelDescriptiveContentsType635", - "HotelDescriptiveInfoType", - "HotelDescriptiveInfosType", - "HotelInfoType", - "HotelInfoType269", - "HotelInfoType637", - "HotelNotifReportType", - "HotelReadRequestType", - "HotelRefType", - "HotelReservationIDType", - "HotelReservationIDType169", - "HotelReservationIDType620", - "HotelReservationIDsType", - "HotelReservationIDsType168", - "HotelReservationIDsType619", - "HotelReservationType", - "HotelReservationType187", - "HotelReservationType516", - "HotelReservationType57", - "HotelReservationType65", - "HotelReservationsType", - "HotelReservationsType186", - "HotelReservationsType56", - "ImageFormatType", - "ImageFormatType218", - "ImageFormatType282", - "ImageFormatType321", - "ImageFormatType650", - "ImageFormatType689", - "ImageItemType", - "ImageItemType217", - "ImageItemType281", - "ImageItemType320", - "ImageItemType649", - "ImageItemType688", - "ImageItemsType", - "ImageItemsType216", - "ImageItemsType280", - "ImageItemsType319", - "ImageItemsType648", - "ImageItemsType687", - "ImageType", - "InvCountType", - "InvCountsType", - "InventoriesType", - "InventoryType", - "LengthOfStayType", - "LengthOfStayType422", - "LengthOfStayType450", - "LengthOfStayType493", - "LengthOfStayType769", - "LengthOfStayType812", - "LengthsOfStayType", - "LengthsOfStayType421", - "LengthsOfStayType449", - "LengthsOfStayType492", - "LengthsOfStayType768", - "LengthsOfStayType811", - "ListItemType", - "ListItemType141", - "ListItemType407", - "ListItemType468", - "ListItemType592", - "ListItemType787", - "LocationCategoriesType", - "LocationType", - "MealsIncludedType", - "MealsIncludedType410", - "MealsIncludedType471", - "MealsIncludedType528", - "MealsIncludedType77", - "MealsIncludedType790", - "MultimediaDescriptionType", - "MultimediaDescriptionType210", - "MultimediaDescriptionType274", - "MultimediaDescriptionType313", - "MultimediaDescriptionType642", - "MultimediaDescriptionType681", - "MultimediaDescriptionsType", - "MultimediaDescriptionsType209", - "MultimediaDescriptionsType273", - "MultimediaDescriptionsType312", - "MultimediaDescriptionsType641", - "MultimediaDescriptionsType680", - "NotifDetailsType", - "OTA_HotelDescriptiveContentNotifRQ", - "OTA_HotelDescriptiveContentNotifRS", - "OTA_HotelDescriptiveInfoRQ", - "OTA_HotelDescriptiveInfoRS", - "OTA_HotelInvCountNotifRQ", - "OTA_HotelInvCountNotifRS", - "OTA_HotelPostEventNotifRQ", - "OTA_HotelPostEventNotifRS", - "OTA_HotelRatePlanNotifRQ", - "OTA_HotelRatePlanNotifRS", - "OTA_HotelRatePlanRQ", - "OTA_HotelRatePlanRS", - "OTA_HotelResNotifRQ", - "OTA_HotelResNotifRS", - "OTA_NotifReportRQ", - "OTA_NotifReportRS", - "OTA_PingRQ", - "OTA_PingRS", - "OTA_ReadRQ", - "OTA_ResRetrieveRS", - "OccupancyType", - "OccupancyType499", - "OccupancyType818", - "OfferRuleType", - "OfferRuleType491", - "OfferRuleType810", - "OfferRulesType", - "OfferRulesType490", - "OfferRulesType809", - "OfferType", - "OfferType489", - "OfferType808", - "OffersType", - "OffersType488", - "OffersType807", - "PaymentCardType", - "PaymentCardType153", - "PaymentCardType246", - "PaymentCardType366", - "PaymentCardType39", - "PaymentCardType545", - "PaymentCardType604", - "PaymentCardType734", - "PaymentCardType94", - "PenaltyDescriptionType", - "PenaltyDescriptionType167", - "PenaltyDescriptionType224", - "PenaltyDescriptionType330", - "PenaltyDescriptionType618", - "PenaltyDescriptionType698", - "PersonNameType", - "PersonNameType126", - "PersonNameType30", - "PersonNameType577", - "PetsPoliciesType", - "PetsPoliciesType340", - "PetsPoliciesType708", - "PetsPolicyType", - "PetsPolicyType341", - "PetsPolicyType709", - "PhoneType", - "PhoneType388", - "PhoneType756", - "PhonesType", - "PhonesType387", - "PhonesType755", - "PlainTextType", - "PlainTextType245", - "PlainTextType362", - "PlainTextType364", - "PlainTextType730", - "PlainTextType732", - "PoliciesType", - "PoliciesType326", - "PoliciesType694", - "PolicyInfoType", - "PolicyInfoType370", - "PolicyInfoType738", - "PolicyType", - "PolicyType327", - "PolicyType695", - "PositionType", - "PositionType298", - "PositionType666", - "PrerequisiteInventoryType", - "PrerequisiteInventoryType478", - "PrerequisiteInventoryType797", - "ProfileInfoType", - "ProfileInfoType123", - "ProfileInfoType171", - "ProfileInfoType45", - "ProfileInfoType574", - "ProfileInfoType622", - "ProfileType", - "ProfileType124", - "ProfileType172", - "ProfileType46", - "ProfileType575", - "ProfileType623", - "ProfilesType", - "ProfilesType122", - "ProfilesType170", - "ProfilesType44", - "ProfilesType573", - "ProfilesType621", - "RateDescriptionType", - "RateDescriptionType467", - "RateDescriptionType786", - "RatePlanCandidateType", - "RatePlanCandidatesType", - "RatePlanType", - "RatePlanType400", - "RatePlanType439", - "RatePlanType446", - "RatePlanType525", - "RatePlanType74", - "RatePlanType765", - "RatePlansType", - "RatePlansType399", - "RatePlansType438", - "RatePlansType445", - "RatePlansType524", - "RatePlansType73", - "RatePlansType764", - "RateType", - "RateType405", - "RateType461", - "RateType534", - "RateType780", - "RateType83", - "RatesType", - "RatesType404", - "RatesType460", - "RatesType533", - "RatesType779", - "RatesType82", - "ReadRequestsType", - "ResGlobalInfoType", - "ResGlobalInfoType138", - "ResGlobalInfoType589", - "ResGuestType", - "ResGuestType121", - "ResGuestType572", - "ResGuestsType", - "ResGuestsType120", - "ResGuestsType571", - "ReservationsListType", - "RestrictionStatusType", - "RestrictionStatusType456", - "RestrictionStatusType775", - "RoomRateType", - "RoomRateType532", - "RoomRateType81", - "RoomRatesType", - "RoomRatesType531", - "RoomRatesType80", - "RoomStayType", - "RoomStayType520", - "RoomStayType69", - "RoomStaysType", - "RoomStaysType519", - "RoomStaysType68", - "RoomTypeType", - "RoomTypeType522", - "RoomTypeType71", - "RoomTypesType", - "RoomTypesType521", - "RoomTypesType70", - "SelectionCriteriaType", - "ServiceDescriptionType", - "ServiceDescriptionType113", - "ServiceDescriptionType564", - "ServiceDetailsType", - "ServiceDetailsType104", - "ServiceDetailsType555", - "ServiceRPHType", - "ServiceRPHType100", - "ServiceRPHType551", - "ServiceRPHsType", - "ServiceRPHsType550", - "ServiceRPHsType99", - "ServiceType", - "ServiceType103", - "ServiceType207", - "ServiceType301", - "ServiceType554", - "ServiceType669", - "ServicesType", - "ServicesType102", - "ServicesType206", - "ServicesType300", - "ServicesType553", - "ServicesType668", - "SpecialRequestType", - "SpecialRequestType145", - "SpecialRequestType596", - "SpecialRequestsType", - "SpecialRequestsType144", - "SpecialRequestsType595", - "StartDateWindowType", - "StartDateWindowType540", - "StartDateWindowType89", - "StateProvType", - "StateProvType383", - "StateProvType751", - "StatusApplicationControlType", - "StayRequirementType", - "StayRequirementType372", - "StayRequirementType740", - "StayRequirementsType", - "StayRequirementsType371", - "StayRequirementsType739", - "Success", - "SupplementType", - "SupplementType477", - "SupplementType796", - "SupplementsType", - "SupplementsType476", - "SupplementsType795", - "SurnameType", - "TaxDescriptionType", - "TaxDescriptionType348", - "TaxDescriptionType716", - "TaxPoliciesType", - "TaxPoliciesType346", - "TaxPoliciesType714", - "TaxPolicyType", - "TaxPolicyType347", - "TaxPolicyType715", - "TelephoneInfoType", - "TelephoneInfoType178", - "TelephoneInfoType629", - "TelephoneType", - "TelephoneType127", - "TelephoneType578", - "TextItemType", - "TextItemType212", - "TextItemType276", - "TextItemType315", - "TextItemType644", - "TextItemType683", - "TextItemsType", - "TextItemsType211", - "TextItemsType275", - "TextItemsType314", - "TextItemsType643", - "TextItemsType682", - "TextType", - "TextType110", - "TextType114", - "TextType146", - "TextType225", - "TextType229", - "TextType233", - "TextType236", - "TextType24", - "TextType26", - "TextType331", - "TextType337", - "TextType343", - "TextType349", - "TextType37", - "TextType416", - "TextType429", - "TextType481", - "TextType510", - "TextType561", - "TextType565", - "TextType597", - "TextType699", - "TextType705", - "TextType711", - "TextType717", - "TextType800", - "TextType829", - "TimeSpanType", - "TimeSpanType107", - "TimeSpanType21", - "TimeSpanType539", - "TimeSpanType558", - "TimeSpanType88", - "TotalType", - "TotalType112", - "TotalType25", - "TotalType549", - "TotalType563", - "TotalType98", - "TypeRoomType", - "TypeRoomType308", - "TypeRoomType676", - "URLType", - "URLType254", - "URLType393", - "URLType761", - "URLsType", - "URLsType392", - "URLsType760", - "UniqueIDType", - "UniqueIDType16", - "UniqueIDType188", - "UniqueIDType396", - "UniqueIDType517", - "UniqueIDType58", - "UniqueIDType66", - "VideoFormatType", - "VideoFormatType291", - "VideoFormatType659", - "VideoItemType", - "VideoItemType290", - "VideoItemType658", - "VideoItemsType", - "VideoItemsType289", - "VideoItemsType657", - "VoucherType", - "VoucherType162", - "VoucherType613", - "WarningType", - "WarningType15", - "WarningType185", - "WarningType194", - "WarningType261", - "WarningType266", - "WarningType437", - "WarningType444", - "WarningType55", - "WarningType64", - "WarningType839", - "WarningType9", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType", - "WarningsType" -] diff --git a/src/alpine_bits_classes.py.bak b/src/alpine_bits_classes.py.bak deleted file mode 100644 index 19626db..0000000 --- a/src/alpine_bits_classes.py.bak +++ /dev/null @@ -1,105109 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# -# Generated Tue Sep 23 08:57:48 2025 by generateDS.py version 2.44.3. -# Python 3.13.3 (main, Apr 9 2025, 04:03:52) [Clang 20.1.0 ] -# -# Command line options: -# ('-o', 'alpine_bits_classes.py') -# ('-s', 'subclasses.py') -# -# Command line arguments: -# ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd -# -# Command line: -# ../.venv/bin/generateDS.py -o "alpine_bits_classes.py" -s "subclasses.py" ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd -# -# Current working directory (os.getcwd()): -# src -# - -import sys -try: - ModulenotfoundExp_ = ModuleNotFoundError -except NameError: - ModulenotfoundExp_ = ImportError -from six.moves import zip_longest -import os -import re as re_ -import base64 -import datetime as datetime_ -import decimal as decimal_ -from lxml import etree as etree_ - - -Validate_simpletypes_ = True -SaveElementTreeNode = True -TagNamePrefix = "" -if sys.version_info.major == 2: - BaseStrType_ = basestring -else: - BaseStrType_ = str - - -def parsexml_(infile, parser=None, **kwargs): - if parser is None: - # Use the lxml ElementTree compatible parser so that, e.g., - # we ignore comments. - try: - parser = etree_.ETCompatXMLParser() - except AttributeError: - # fallback to xml.etree - parser = etree_.XMLParser() - try: - if isinstance(infile, os.PathLike): - infile = os.path.join(infile) - except AttributeError: - pass - doc = etree_.parse(infile, parser=parser, **kwargs) - return doc - -def parsexmlstring_(instring, parser=None, **kwargs): - if parser is None: - # Use the lxml ElementTree compatible parser so that, e.g., - # we ignore comments. - try: - parser = etree_.ETCompatXMLParser() - except AttributeError: - # fallback to xml.etree - parser = etree_.XMLParser() - element = etree_.fromstring(instring, parser=parser, **kwargs) - return element - -# -# Namespace prefix definition table (and other attributes, too) -# -# The module generatedsnamespaces, if it is importable, must contain -# a dictionary named GeneratedsNamespaceDefs. This Python dictionary -# should map element type names (strings) to XML schema namespace prefix -# definitions. The export method for any class for which there is -# a namespace prefix definition, will export that definition in the -# XML representation of that element. See the export method of -# any generated element type class for an example of the use of this -# table. -# A sample table is: -# -# # File: generatedsnamespaces.py -# -# GenerateDSNamespaceDefs = { -# "ElementtypeA": "http://www.xxx.com/namespaceA", -# "ElementtypeB": "http://www.xxx.com/namespaceB", -# } -# -# Additionally, the generatedsnamespaces module can contain a python -# dictionary named GenerateDSNamespaceTypePrefixes that associates element -# types with the namespace prefixes that are to be added to the -# "xsi:type" attribute value. See the _exportAttributes method of -# any generated element type and the generation of "xsi:type" for an -# example of the use of this table. -# An example table: -# -# # File: generatedsnamespaces.py -# -# GenerateDSNamespaceTypePrefixes = { -# "ElementtypeC": "aaa:", -# "ElementtypeD": "bbb:", -# } -# - -try: - from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_ -except ModulenotfoundExp_ : - GenerateDSNamespaceDefs_ = {} -try: - from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_ -except ModulenotfoundExp_ : - GenerateDSNamespaceTypePrefixes_ = {} - -# -# You can replace the following class definition by defining an -# importable module named "generatedscollector" containing a class -# named "GdsCollector". See the default class definition below for -# clues about the possible content of that class. -# -try: - from generatedscollector import GdsCollector as GdsCollector_ -except ModulenotfoundExp_ : - - class GdsCollector_(object): - - def __init__(self, messages=None): - if messages is None: - self.messages = [] - else: - self.messages = messages - - def add_message(self, msg): - self.messages.append(msg) - - def get_messages(self): - return self.messages - - def clear_messages(self): - self.messages = [] - - def print_messages(self): - for msg in self.messages: - print("Warning: {}".format(msg)) - - def write_messages(self, outstream): - for msg in self.messages: - outstream.write("Warning: {}\n".format(msg)) - - -# -# The super-class for enum types -# - -try: - from enum import Enum -except ModulenotfoundExp_ : - Enum = object - -# -# The root super-class for element type classes -# -# Calls to the methods in these classes are generated by generateDS.py. -# You can replace these methods by re-implementing the following class -# in a module named generatedssuper.py. - -try: - from generatedssuper import GeneratedsSuper -except ModulenotfoundExp_ as exp: - try: - from generatedssupersuper import GeneratedsSuperSuper - except ModulenotfoundExp_ as exp: - class GeneratedsSuperSuper(object): - pass - - class GeneratedsSuper(GeneratedsSuperSuper): - __hash__ = object.__hash__ - tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)$') - class _FixedOffsetTZ(datetime_.tzinfo): - def __init__(self, offset, name): - self.__offset = datetime_.timedelta(minutes=offset) - self.__name = name - def utcoffset(self, dt): - return self.__offset - def tzname(self, dt): - return self.__name - def dst(self, dt): - return None - def __str__(self): - settings = { - 'str_pretty_print': True, - 'str_indent_level': 0, - 'str_namespaceprefix': '', - 'str_name': self.__class__.__name__, - 'str_namespacedefs': '', - } - for n in settings: - if hasattr(self, n): - settings[n] = getattr(self, n) - if sys.version_info.major == 2: - from StringIO import StringIO - else: - from io import StringIO - output = StringIO() - self.export( - output, - settings['str_indent_level'], - pretty_print=settings['str_pretty_print'], - namespaceprefix_=settings['str_namespaceprefix'], - name_=settings['str_name'], - namespacedef_=settings['str_namespacedefs'] - ) - strval = output.getvalue() - output.close() - return strval - def gds_format_string(self, input_data, input_name=''): - return input_data - def gds_parse_string(self, input_data, node=None, input_name=''): - return input_data - def gds_validate_string(self, input_data, node=None, input_name=''): - if not input_data: - return '' - else: - return input_data - def gds_format_base64(self, input_data, input_name=''): - return base64.b64encode(input_data).decode('ascii') - def gds_validate_base64(self, input_data, node=None, input_name=''): - return input_data - def gds_format_integer(self, input_data, input_name=''): - return '%d' % int(input_data) - def gds_parse_integer(self, input_data, node=None, input_name=''): - try: - ival = int(input_data) - except (TypeError, ValueError) as exp: - raise_parse_error(node, 'Requires integer value: %s' % exp) - return ival - def gds_validate_integer(self, input_data, node=None, input_name=''): - try: - value = int(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires integer value') - return value - def gds_format_integer_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_integer_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - int(value) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires sequence of integer values') - return values - def gds_format_float(self, input_data, input_name=''): - value = ('%.15f' % float(input_data)).rstrip('0') - if value.endswith('.'): - value += '0' - return value - - def gds_parse_float(self, input_data, node=None, input_name=''): - try: - fval_ = float(input_data) - except (TypeError, ValueError) as exp: - raise_parse_error(node, 'Requires float or double value: %s' % exp) - return fval_ - def gds_validate_float(self, input_data, node=None, input_name=''): - try: - value = float(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires float value') - return value - def gds_format_float_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_float_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - float(value) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires sequence of float values') - return values - def gds_format_decimal(self, input_data, input_name=''): - return_value = '%s' % input_data - if '.' in return_value: - return_value = return_value.rstrip('0') - if return_value.endswith('.'): - return_value = return_value.rstrip('.') - return return_value - def gds_parse_decimal(self, input_data, node=None, input_name=''): - try: - decimal_value = decimal_.Decimal(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires decimal value') - return decimal_value - def gds_validate_decimal(self, input_data, node=None, input_name=''): - try: - value = decimal_.Decimal(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires decimal value') - return value - def gds_format_decimal_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return ' '.join([self.gds_format_decimal(item) for item in input_data]) - def gds_validate_decimal_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - decimal_.Decimal(value) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires sequence of decimal values') - return values - def gds_format_double(self, input_data, input_name=''): - return '%s' % input_data - def gds_parse_double(self, input_data, node=None, input_name=''): - try: - fval_ = float(input_data) - except (TypeError, ValueError) as exp: - raise_parse_error(node, 'Requires double or float value: %s' % exp) - return fval_ - def gds_validate_double(self, input_data, node=None, input_name=''): - try: - value = float(input_data) - except (TypeError, ValueError): - raise_parse_error(node, 'Requires double or float value') - return value - def gds_format_double_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_double_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - try: - float(value) - except (TypeError, ValueError): - raise_parse_error( - node, 'Requires sequence of double or float values') - return values - def gds_format_boolean(self, input_data, input_name=''): - return ('%s' % input_data).lower() - def gds_parse_boolean(self, input_data, node=None, input_name=''): - input_data = input_data.strip() - if input_data in ('true', '1'): - bval = True - elif input_data in ('false', '0'): - bval = False - else: - raise_parse_error(node, 'Requires boolean value') - return bval - def gds_validate_boolean(self, input_data, node=None, input_name=''): - if input_data not in (True, 1, False, 0, ): - raise_parse_error( - node, - 'Requires boolean value ' - '(one of True, 1, False, 0)') - return input_data - def gds_format_boolean_list(self, input_data, input_name=''): - if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): - input_data = [str(s) for s in input_data] - return '%s' % ' '.join(input_data) - def gds_validate_boolean_list( - self, input_data, node=None, input_name=''): - values = input_data.split() - for value in values: - value = self.gds_parse_boolean(value, node, input_name) - if value not in (True, 1, False, 0, ): - raise_parse_error( - node, - 'Requires sequence of boolean values ' - '(one of True, 1, False, 0)') - return values - def gds_validate_datetime(self, input_data, node=None, input_name=''): - return input_data - def gds_format_datetime(self, input_data, input_name=''): - if input_data.microsecond == 0: - _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % ( - input_data.year, - input_data.month, - input_data.day, - input_data.hour, - input_data.minute, - input_data.second, - ) - else: - _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % ( - input_data.year, - input_data.month, - input_data.day, - input_data.hour, - input_data.minute, - input_data.second, - ('%f' % (float(input_data.microsecond) / 1000000))[2:], - ) - if input_data.tzinfo is not None: - tzoff = input_data.tzinfo.utcoffset(input_data) - if tzoff is not None: - total_seconds = tzoff.seconds + (86400 * tzoff.days) - if total_seconds == 0: - _svalue += 'Z' - else: - if total_seconds < 0: - _svalue += '-' - total_seconds *= -1 - else: - _svalue += '+' - hours = total_seconds // 3600 - minutes = (total_seconds - (hours * 3600)) // 60 - _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) - return _svalue - @classmethod - def gds_parse_datetime(cls, input_data): - tz = None - if input_data[-1] == 'Z': - tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') - input_data = input_data[:-1] - else: - results = GeneratedsSuper.tzoff_pattern.search(input_data) - if results is not None: - tzoff_parts = results.group(2).split(':') - tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) - if results.group(1) == '-': - tzoff *= -1 - tz = GeneratedsSuper._FixedOffsetTZ( - tzoff, results.group(0)) - input_data = input_data[:-6] - time_parts = input_data.split('.') - if len(time_parts) > 1: - micro_seconds = int(float('0.' + time_parts[1]) * 1000000) - input_data = '%s.%s' % ( - time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), ) - dt = datetime_.datetime.strptime( - input_data, '%Y-%m-%dT%H:%M:%S.%f') - else: - dt = datetime_.datetime.strptime( - input_data, '%Y-%m-%dT%H:%M:%S') - dt = dt.replace(tzinfo=tz) - return dt - def gds_validate_date(self, input_data, node=None, input_name=''): - return input_data - def gds_format_date(self, input_data, input_name=''): - _svalue = '%04d-%02d-%02d' % ( - input_data.year, - input_data.month, - input_data.day, - ) - try: - if input_data.tzinfo is not None: - tzoff = input_data.tzinfo.utcoffset(input_data) - if tzoff is not None: - total_seconds = tzoff.seconds + (86400 * tzoff.days) - if total_seconds == 0: - _svalue += 'Z' - else: - if total_seconds < 0: - _svalue += '-' - total_seconds *= -1 - else: - _svalue += '+' - hours = total_seconds // 3600 - minutes = (total_seconds - (hours * 3600)) // 60 - _svalue += '{0:02d}:{1:02d}'.format( - hours, minutes) - except AttributeError: - pass - return _svalue - @classmethod - def gds_parse_date(cls, input_data): - tz = None - if input_data[-1] == 'Z': - tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') - input_data = input_data[:-1] - else: - results = GeneratedsSuper.tzoff_pattern.search(input_data) - if results is not None: - tzoff_parts = results.group(2).split(':') - tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) - if results.group(1) == '-': - tzoff *= -1 - tz = GeneratedsSuper._FixedOffsetTZ( - tzoff, results.group(0)) - input_data = input_data[:-6] - dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d') - dt = dt.replace(tzinfo=tz) - return dt.date() - def gds_validate_time(self, input_data, node=None, input_name=''): - return input_data - def gds_format_time(self, input_data, input_name=''): - if input_data.microsecond == 0: - _svalue = '%02d:%02d:%02d' % ( - input_data.hour, - input_data.minute, - input_data.second, - ) - else: - _svalue = '%02d:%02d:%02d.%s' % ( - input_data.hour, - input_data.minute, - input_data.second, - ('%f' % (float(input_data.microsecond) / 1000000))[2:], - ) - if input_data.tzinfo is not None: - tzoff = input_data.tzinfo.utcoffset(input_data) - if tzoff is not None: - total_seconds = tzoff.seconds + (86400 * tzoff.days) - if total_seconds == 0: - _svalue += 'Z' - else: - if total_seconds < 0: - _svalue += '-' - total_seconds *= -1 - else: - _svalue += '+' - hours = total_seconds // 3600 - minutes = (total_seconds - (hours * 3600)) // 60 - _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) - return _svalue - def gds_validate_simple_patterns(self, patterns, target): - # pat is a list of lists of strings/patterns. - # The target value must match at least one of the patterns - # in order for the test to succeed. - found1 = True - target = str(target) - for patterns1 in patterns: - found2 = False - for patterns2 in patterns1: - mo = re_.search(patterns2, target) - if mo is not None and len(mo.group(0)) == len(target): - found2 = True - break - if not found2: - found1 = False - break - return found1 - @classmethod - def gds_parse_time(cls, input_data): - tz = None - if input_data[-1] == 'Z': - tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') - input_data = input_data[:-1] - else: - results = GeneratedsSuper.tzoff_pattern.search(input_data) - if results is not None: - tzoff_parts = results.group(2).split(':') - tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) - if results.group(1) == '-': - tzoff *= -1 - tz = GeneratedsSuper._FixedOffsetTZ( - tzoff, results.group(0)) - input_data = input_data[:-6] - if len(input_data.split('.')) > 1: - dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f') - else: - dt = datetime_.datetime.strptime(input_data, '%H:%M:%S') - dt = dt.replace(tzinfo=tz) - return dt.time() - def gds_check_cardinality_( - self, value, input_name, - min_occurs=0, max_occurs=1, required=None): - if value is None: - length = 0 - elif isinstance(value, list): - length = len(value) - else: - length = 1 - if required is not None : - if required and length < 1: - self.gds_collector_.add_message( - "Required value {}{} is missing".format( - input_name, self.gds_get_node_lineno_())) - if length < min_occurs: - self.gds_collector_.add_message( - "Number of values for {}{} is below " - "the minimum allowed, " - "expected at least {}, found {}".format( - input_name, self.gds_get_node_lineno_(), - min_occurs, length)) - elif length > max_occurs: - self.gds_collector_.add_message( - "Number of values for {}{} is above " - "the maximum allowed, " - "expected at most {}, found {}".format( - input_name, self.gds_get_node_lineno_(), - max_occurs, length)) - def gds_validate_builtin_ST_( - self, validator, value, input_name, - min_occurs=None, max_occurs=None, required=None): - if value is not None: - try: - validator(value, input_name=input_name) - except GDSParseError as parse_error: - self.gds_collector_.add_message(str(parse_error)) - def gds_validate_defined_ST_( - self, validator, value, input_name, - min_occurs=None, max_occurs=None, required=None): - if value is not None: - try: - validator(value) - except GDSParseError as parse_error: - self.gds_collector_.add_message(str(parse_error)) - def gds_str_lower(self, instring): - return instring.lower() - def get_path_(self, node): - path_list = [] - self.get_path_list_(node, path_list) - path_list.reverse() - path = '/'.join(path_list) - return path - Tag_strip_pattern_ = re_.compile(r'{.*}') - def get_path_list_(self, node, path_list): - if node is None: - return - tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag) - if tag: - path_list.append(tag) - self.get_path_list_(node.getparent(), path_list) - def get_class_obj_(self, node, default_class=None): - class_obj1 = default_class - if 'xsi' in node.nsmap: - classname = node.get('{%s}type' % node.nsmap['xsi']) - if classname is not None: - names = classname.split(':') - if len(names) == 2: - classname = names[1] - class_obj2 = globals().get(classname) - if class_obj2 is not None: - class_obj1 = class_obj2 - return class_obj1 - def gds_build_any(self, node, type_name=None): - # provide default value in case option --disable-xml is used. - content = "" - content = etree_.tostring(node, encoding="unicode") - return content - @classmethod - def gds_reverse_node_mapping(cls, mapping): - return dict(((v, k) for k, v in mapping.items())) - @staticmethod - def gds_encode(instring): - if sys.version_info.major == 2: - if ExternalEncoding: - encoding = ExternalEncoding - else: - encoding = 'utf-8' - return instring.encode(encoding) - else: - return instring - @staticmethod - def convert_unicode(instring): - if isinstance(instring, str): - result = quote_xml(instring) - elif sys.version_info.major == 2 and isinstance(instring, unicode): - result = quote_xml(instring).encode('utf8') - else: - result = GeneratedsSuper.gds_encode(str(instring)) - return result - def __eq__(self, other): - def excl_select_objs_(obj): - return (obj[0] != 'parent_object_' and - obj[0] != 'gds_collector_') - if type(self) != type(other): - return False - return all(x == y for x, y in zip_longest( - filter(excl_select_objs_, self.__dict__.items()), - filter(excl_select_objs_, other.__dict__.items()))) - def __ne__(self, other): - return not self.__eq__(other) - # Django ETL transform hooks. - def gds_djo_etl_transform(self): - pass - def gds_djo_etl_transform_db_obj(self, dbobj): - pass - # SQLAlchemy ETL transform hooks. - def gds_sqa_etl_transform(self): - return 0, None - def gds_sqa_etl_transform_db_obj(self, dbobj): - pass - def gds_get_node_lineno_(self): - if (hasattr(self, "gds_elementtree_node_") and - self.gds_elementtree_node_ is not None): - return ' near line {}'.format( - self.gds_elementtree_node_.sourceline) - else: - return "" - - - def getSubclassFromModule_(module, class_): - '''Get the subclass of a class from a specific module.''' - name = class_.__name__ + 'Sub' - if hasattr(module, name): - return getattr(module, name) - else: - return None - - -# -# If you have installed IPython you can uncomment and use the following. -# IPython is available from http://ipython.scipy.org/. -# - -## from IPython.Shell import IPShellEmbed -## args = '' -## ipshell = IPShellEmbed(args, -## banner = 'Dropping into IPython', -## exit_msg = 'Leaving Interpreter, back to program.') - -# Then use the following line where and when you want to drop into the -# IPython shell: -# ipshell(' -- Entering ipshell.\nHit Ctrl-D to exit') - -# -# Globals -# - -ExternalEncoding = '' -# Set this to false in order to deactivate during export, the use of -# name space prefixes captured from the input document. -UseCapturedNS_ = True -CapturedNsmap_ = {} -Tag_pattern_ = re_.compile(r'({.*})?(.*)') -String_cleanup_pat_ = re_.compile(r"[\n\r\s]+") -Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)') -CDATA_pattern_ = re_.compile(r"", re_.DOTALL) - -# Change this to redirect the generated superclass module to use a -# specific subclass module. -CurrentSubclassModule_ = None - -# -# Support/utility functions. -# - - -def showIndent(outfile, level, pretty_print=True): - if pretty_print: - for idx in range(level): - outfile.write(' ') - - -def quote_xml(inStr): - "Escape markup chars, but do not modify CDATA sections." - if not inStr: - return '' - s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) - s2 = '' - pos = 0 - matchobjects = CDATA_pattern_.finditer(s1) - for mo in matchobjects: - s3 = s1[pos:mo.start()] - s2 += quote_xml_aux(s3) - s2 += s1[mo.start():mo.end()] - pos = mo.end() - s3 = s1[pos:] - s2 += quote_xml_aux(s3) - return s2 - - -def quote_xml_aux(inStr): - s1 = inStr.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - return s1 - - -def quote_attrib(inStr): - s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) - s1 = s1.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - s1 = s1.replace('\n', ' ') - if '"' in s1: - if "'" in s1: - s1 = '"%s"' % s1.replace('"', """) - else: - s1 = "'%s'" % s1 - else: - s1 = '"%s"' % s1 - return s1 - - -def quote_python(inStr): - s1 = inStr - if s1.find("'") == -1: - if s1.find('\n') == -1: - return "'%s'" % s1 - else: - return "'''%s'''" % s1 - else: - if s1.find('"') != -1: - s1 = s1.replace('"', '\\"') - if s1.find('\n') == -1: - return '"%s"' % s1 - else: - return '"""%s"""' % s1 - - -def get_all_text_(node): - if node.text is not None: - text = node.text - else: - text = '' - for child in node: - if child.tail is not None: - text += child.tail - return text - - -def find_attr_value_(attr_name, node): - attrs = node.attrib - attr_parts = attr_name.split(':') - value = None - if len(attr_parts) == 1: - value = attrs.get(attr_name) - elif len(attr_parts) == 2: - prefix, name = attr_parts - if prefix == 'xml': - namespace = 'http://www.w3.org/XML/1998/namespace' - else: - namespace = node.nsmap.get(prefix) - if namespace is not None: - value = attrs.get('{%s}%s' % (namespace, name, )) - return value - - -def encode_str_2_3(instr): - return instr - - -class GDSParseError(Exception): - pass - - -def raise_parse_error(node, msg): - if node is not None: - msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, ) - raise GDSParseError(msg) - - -class MixedContainer: - # Constants for category: - CategoryNone = 0 - CategoryText = 1 - CategorySimple = 2 - CategoryComplex = 3 - # Constants for content_type: - TypeNone = 0 - TypeText = 1 - TypeString = 2 - TypeInteger = 3 - TypeFloat = 4 - TypeDecimal = 5 - TypeDouble = 6 - TypeBoolean = 7 - TypeBase64 = 8 - def __init__(self, category, content_type, name, value): - self.category = category - self.content_type = content_type - self.name = name - self.value = value - def getCategory(self): - return self.category - def getContenttype(self, content_type): - return self.content_type - def getValue(self): - return self.value - def getName(self): - return self.name - def export(self, outfile, level, name, namespace, - pretty_print=True): - if self.category == MixedContainer.CategoryText: - # Prevent exporting empty content as empty lines. - if self.value.strip(): - outfile.write(self.value) - elif self.category == MixedContainer.CategorySimple: - self.exportSimple(outfile, level, name) - else: # category == MixedContainer.CategoryComplex - self.value.export( - outfile, level, namespace, name_=name, - pretty_print=pretty_print) - def exportSimple(self, outfile, level, name): - if self.content_type == MixedContainer.TypeString: - outfile.write('<%s>%s' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeInteger or \ - self.content_type == MixedContainer.TypeBoolean: - outfile.write('<%s>%d' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeFloat or \ - self.content_type == MixedContainer.TypeDecimal: - outfile.write('<%s>%f' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeDouble: - outfile.write('<%s>%g' % ( - self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeBase64: - outfile.write('<%s>%s' % ( - self.name, - base64.b64encode(self.value), - self.name)) - def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None): - if self.category == MixedContainer.CategoryText: - # Prevent exporting empty content as empty lines. - if self.value.strip(): - if len(element) > 0: - if element[-1].tail is None: - element[-1].tail = self.value - else: - element[-1].tail += self.value - else: - if element.text is None: - element.text = self.value - else: - element.text += self.value - elif self.category == MixedContainer.CategorySimple: - subelement = etree_.SubElement( - element, '%s' % self.name) - subelement.text = self.to_etree_simple() - else: # category == MixedContainer.CategoryComplex - self.value.to_etree(element) - def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None): - if self.content_type == MixedContainer.TypeString: - text = self.value - elif (self.content_type == MixedContainer.TypeInteger or - self.content_type == MixedContainer.TypeBoolean): - text = '%d' % self.value - elif (self.content_type == MixedContainer.TypeFloat or - self.content_type == MixedContainer.TypeDecimal): - text = '%f' % self.value - elif self.content_type == MixedContainer.TypeDouble: - text = '%g' % self.value - elif self.content_type == MixedContainer.TypeBase64: - text = '%s' % base64.b64encode(self.value) - return text - def exportLiteral(self, outfile, level, name): - if self.category == MixedContainer.CategoryText: - showIndent(outfile, level) - outfile.write( - 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( - self.category, self.content_type, - self.name, self.value)) - elif self.category == MixedContainer.CategorySimple: - showIndent(outfile, level) - outfile.write( - 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( - self.category, self.content_type, - self.name, self.value)) - else: # category == MixedContainer.CategoryComplex - showIndent(outfile, level) - outfile.write( - 'model_.MixedContainer(%d, %d, "%s",\n' % ( - self.category, self.content_type, self.name,)) - self.value.exportLiteral(outfile, level + 1) - showIndent(outfile, level) - outfile.write(')\n') - - -class MemberSpec_(object): - def __init__(self, name='', data_type='', container=0, - optional=0, child_attrs=None, choice=None): - self.name = name - self.data_type = data_type - self.container = container - self.child_attrs = child_attrs - self.choice = choice - self.optional = optional - def set_name(self, name): self.name = name - def get_name(self): return self.name - def set_data_type(self, data_type): self.data_type = data_type - def get_data_type_chain(self): return self.data_type - def get_data_type(self): - if isinstance(self.data_type, list): - if len(self.data_type) > 0: - return self.data_type[-1] - else: - return 'xs:string' - else: - return self.data_type - def set_container(self, container): self.container = container - def get_container(self): return self.container - def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs - def get_child_attrs(self): return self.child_attrs - def set_choice(self, choice): self.choice = choice - def get_choice(self): return self.choice - def set_optional(self, optional): self.optional = optional - def get_optional(self): return self.optional - - -def _cast(typ, value): - if typ is None or value is None: - return value - return typ(value) - - -# -# Start enum classes -# -class AddToBasicRateIndicatorType(str, Enum): - _1='1' - TRUE='true' - - -class AddToBasicRateIndicatorType485(str, Enum): - _1='1' - TRUE='true' - - -class AddToBasicRateIndicatorType804(str, Enum): - _1='1' - TRUE='true' - - -class AgeQualifyingCodeType(str, Enum): - _8='8' - _1_0='10' - - -class AgeQualifyingCodeType500(str, Enum): - _8='8' - _1_0='10' - - -class AgeQualifyingCodeType819(str, Enum): - _8='8' - _1_0='10' - - -class AltitudeUnitOfMeasureCodeType(str, Enum): - _3='3' - - -class AltitudeUnitOfMeasureCodeType299(str, Enum): - _3='3' - - -class AltitudeUnitOfMeasureCodeType667(str, Enum): - _3='3' - - -class CategoryType200(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _1_5='15' - _2_2='22' - - -class CategoryType205(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _2_0='20' - _2_2='22' - - -class CategoryType288(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _1_5='15' - _2_2='22' - - -class CategoryType296(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _2_0='20' - _2_2='22' - - -class CategoryType656(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _1_5='15' - _2_2='22' - - -class CategoryType664(str, Enum): - _1='1' - _2='2' - _4='4' - _1_2='12' - _2_0='20' - _2_2='22' - - -class ChargeFrequencyType(str, Enum): - _1='1' - - -class ChargeFrequencyType353(str, Enum): - _1='1' - - -class ChargeFrequencyType721(str, Enum): - _1='1' - - -class ChargeTypeCodeType(str, Enum): - _1='1' - _1_2='12' - _1_8='18' - _1_9='19' - _2_0='20' - _2_1='21' - _2_4='24' - - -class ChargeTypeCodeType486(str, Enum): - _1='1' - _1_2='12' - _1_8='18' - _1_9='19' - _2_0='20' - _2_1='21' - _2_4='24' - - -class ChargeTypeCodeType805(str, Enum): - _1='1' - _1_2='12' - _1_8='18' - _1_9='19' - _2_0='20' - _2_1='21' - _2_4='24' - - -class ChargeUnitType(str, Enum): - _2_1='21' - - -class ChargeUnitType354(str, Enum): - _2_1='21' - - -class ChargeUnitType722(str, Enum): - _2_1='21' - - -class CodeContextType(str, Enum): - ALPINEBITS='ALPINEBITS' - HOTEL='HOTEL' - - -class CodeContextType148(str, Enum): - ALPINEBITS='ALPINEBITS' - HOTEL='HOTEL' - - -class CodeContextType403(str, Enum): - ROOMTYPE='ROOMTYPE' - - -class CodeContextType459(str, Enum): - ROOMTYPE='ROOMTYPE' - - -class CodeContextType599(str, Enum): - ALPINEBITS='ALPINEBITS' - HOTEL='HOTEL' - - -class CodeContextType778(str, Enum): - ROOMTYPE='ROOMTYPE' - - -class CodeType239(str, Enum): - _3='3' - - -class CodeType352(str, Enum): - _3='3' - - -class CodeType720(str, Enum): - _3='3' - - -class CountTypeType(str, Enum): - _2='2' - _6='6' - _9='9' - - -class FirstQualifyingPositionType(str, Enum): - _1='1' - - -class FirstQualifyingPositionType508(str, Enum): - _1='1' - - -class FirstQualifyingPositionType827(str, Enum): - _1='1' - - -class InfoCodeType(str, Enum): - _1='1' - _1_7='17' - _2_3='23' - _2_4='24' - - -class InfoCodeType222(str, Enum): - _1='1' - _2_3='23' - _2_5='25' - - -class InfoCodeType297(str, Enum): - _1='1' - _1_7='17' - _2_3='23' - _2_4='24' - - -class InfoCodeType325(str, Enum): - _1='1' - _2_3='23' - _2_5='25' - - -class InfoCodeType665(str, Enum): - _1='1' - _1_7='17' - _2_3='23' - _2_4='24' - - -class InfoCodeType693(str, Enum): - _1='1' - _2_3='23' - _2_5='25' - - -class InstanceType(str, Enum): - COMPLETE_SET='CompleteSet' - - -class InstanceType398(str, Enum): - COMPLETE_SET='CompleteSet' - - -class InvTypeType(str, Enum): - ALPINEBITSDOW='ALPINEBITSDOW' - ROOMTYPE='ROOMTYPE' - - -class InvTypeType420(str, Enum): - EXTRA='EXTRA' - ALPINEBITSEXTRA='ALPINEBITSEXTRA' - - -class InvTypeType479(str, Enum): - ALPINEBITSDOW='ALPINEBITSDOW' - ROOMTYPE='ROOMTYPE' - - -class InvTypeType487(str, Enum): - EXTRA='EXTRA' - ALPINEBITSEXTRA='ALPINEBITSEXTRA' - - -class InvTypeType798(str, Enum): - ALPINEBITSDOW='ALPINEBITSDOW' - ROOMTYPE='ROOMTYPE' - - -class InvTypeType806(str, Enum): - EXTRA='EXTRA' - ALPINEBITSEXTRA='ALPINEBITSEXTRA' - - -class LocationType256(str, Enum): - _6='6' - - -class LocationType395(str, Enum): - _6='6' - - -class LocationType763(str, Enum): - _6='6' - - -class MealPlanCodeType(str, Enum): - _1_2='12' - - -class MealPlanCodeType304(str, Enum): - _1_2='12' - - -class MealPlanCodeType672(str, Enum): - _1_2='12' - - -class MealPlanCodesType(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanCodesType411(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanCodesType472(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanCodesType530(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanCodesType79(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanCodesType791(str, Enum): - _1='1' - _3='3' - _1_0='10' - _1_2='12' - _1_4='14' - - -class MealPlanIndicatorType(str, Enum): - _1='1' - TRUE='true' - - -class MealPlanIndicatorType412(str, Enum): - _1='1' - TRUE='true' - - -class MealPlanIndicatorType473(str, Enum): - _1='1' - TRUE='true' - - -class MealPlanIndicatorType529(str, Enum): - _1='1' - TRUE='true' - - -class MealPlanIndicatorType78(str, Enum): - _1='1' - TRUE='true' - - -class MealPlanIndicatorType792(str, Enum): - _1='1' - TRUE='true' - - -class MinMaxMessageTypeType(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_FORWARD_MIN_STAY='SetForwardMinStay' - SET_MAX_LOS='SetMaxLOS' - SET_FORWARD_MAX_STAY='SetForwardMaxStay' - - -class MinMaxMessageTypeType424(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_MAX_LOS='SetMaxLOS' - _='' - - -class MinMaxMessageTypeType452(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_FORWARD_MIN_STAY='SetForwardMinStay' - SET_MAX_LOS='SetMaxLOS' - SET_FORWARD_MAX_STAY='SetForwardMaxStay' - - -class MinMaxMessageTypeType495(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_MAX_LOS='SetMaxLOS' - _='' - - -class MinMaxMessageTypeType771(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_FORWARD_MIN_STAY='SetForwardMinStay' - SET_MAX_LOS='SetMaxLOS' - SET_FORWARD_MAX_STAY='SetForwardMaxStay' - - -class MinMaxMessageTypeType814(str, Enum): - SET_MIN_LOS='SetMinLOS' - SET_MAX_LOS='SetMaxLOS' - _='' - - -class NameType(str, Enum): - TITLE='Title' - CATEGORY='Category' - GALLERY='Gallery' - DESCRIPTION='Description' - - -class NameType143(str, Enum): - INCLUDEDSERVICES='included services' - CUSTOMERCOMMENT='customer comment' - ADDITIONALINFO='additional info' - - -class NameType36(str, Enum): - INCLUDEDSERVICES='included services' - CUSTOMERCOMMENT='customer comment' - ADDITIONALINFO='additional info' - - -class NameType409(str, Enum): - INCLUDEDSERVICES='included services' - - -class NameType419(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType432(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType470(str, Enum): - INCLUDEDSERVICES='included services' - - -class NameType484(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType513(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType594(str, Enum): - INCLUDEDSERVICES='included services' - CUSTOMERCOMMENT='customer comment' - ADDITIONALINFO='additional info' - - -class NameType789(str, Enum): - INCLUDEDSERVICES='included services' - - -class NameType803(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class NameType832(str, Enum): - TITLE='title' - INTRO='intro' - DESCRIPTION='description' - GALLERY='gallery' - CODELIST='codelist' - - -class PercentType(str, Enum): - _1_00='100' - - -class PercentType504(str, Enum): - _1_00='100' - - -class PercentType823(str, Enum): - _1_00='100' - - -class ProfileTypeType(str, Enum): - _4='4' - - -class ProfileTypeType181(str, Enum): - _4='4' - - -class ProfileTypeType632(str, Enum): - _4='4' - - -class RatePlanNotifTypeType(str, Enum): - OVERLAY='Overlay' - NEW='New' - FULL='Full' - REMOVE='Remove' - - -class RatePlanNotifTypeType514(str, Enum): - OVERLAY='Overlay' - NEW='New' - FULL='Full' - REMOVE='Remove' - - -class RatePlanNotifTypeType833(str, Enum): - OVERLAY='Overlay' - NEW='New' - FULL='Full' - REMOVE='Remove' - - -class RatePlanTypeType(str, Enum): - _1_2='12' - - -class RatePlanTypeType515(str, Enum): - _1_2='12' - - -class RatePlanTypeType834(str, Enum): - _1_2='12' - - -class RateTimeUnitType(str, Enum): - DAY='Day' - - -class RateTimeUnitType413(str, Enum): - DAY='Day' - - -class RateTimeUnitType474(str, Enum): - DAY='Day' - - -class RateTimeUnitType536(str, Enum): - DAY='Day' - - -class RateTimeUnitType793(str, Enum): - DAY='Day' - - -class RateTimeUnitType85(str, Enum): - DAY='Day' - - -class ResStatusType(str, Enum): - REQUESTED='Requested' - RESERVED='Reserved' - CANCELLED='Cancelled' - MODIFY='Modify' - - -class ResStatusType183(str, Enum): - REQUESTED='Requested' - RESERVED='Reserved' - CANCELLED='Cancelled' - MODIFY='Modify' - - -class ResStatusType634(str, Enum): - REQUESTED='Requested' - RESERVED='Reserved' - CANCELLED='Cancelled' - MODIFY='Modify' - - -class RestrictionType(str, Enum): - MASTER='Master' - - -class RestrictionType457(str, Enum): - MASTER='Master' - - -class RestrictionType776(str, Enum): - MASTER='Master' - - -class RoomTypeType18(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType208(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType309(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType523(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType677(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class RoomTypeType72(str, Enum): - _1='1' - _2='2' - _3='3' - _4='4' - _5='5' - _6='6' - _7='7' - _8='8' - _9='9' - - -class ServiceCategoryCodeType(str, Enum): - BOARD='BOARD' - SUPPLEMENT='SUPPLEMENT' - SPA='SPA' - FOOD='FOOD' - BEVERAGE='BEVERAGE' - ACTIVITY='ACTIVITY' - TOURISTTAX='TOURISTTAX' - TRANSFER='TRANSFER' - OTHER='OTHER' - - -class ServiceCategoryCodeType117(str, Enum): - BOARD='BOARD' - SUPPLEMENT='SUPPLEMENT' - SPA='SPA' - FOOD='FOOD' - BEVERAGE='BEVERAGE' - ACTIVITY='ACTIVITY' - TOURISTTAX='TOURISTTAX' - TRANSFER='TRANSFER' - OTHER='OTHER' - - -class ServiceCategoryCodeType568(str, Enum): - BOARD='BOARD' - SUPPLEMENT='SUPPLEMENT' - SPA='SPA' - FOOD='FOOD' - BEVERAGE='BEVERAGE' - ACTIVITY='ACTIVITY' - TOURISTTAX='TOURISTTAX' - TRANSFER='TRANSFER' - OTHER='OTHER' - - -class ServicePricingTypeType(str, Enum): - PERNIGHT='Per night' - PERPERSON='Per person' - PERPERSONPERNIGHT='Per person per night' - PERSTAY='Per stay' - PERUSE='Per use' - - -class ServicePricingTypeType119(str, Enum): - PERNIGHT='Per night' - PERPERSON='Per person' - PERPERSONPERNIGHT='Per person per night' - PERSTAY='Per stay' - PERUSE='Per use' - - -class ServicePricingTypeType570(str, Enum): - PERNIGHT='Per night' - PERPERSON='Per person' - PERPERSONPERNIGHT='Per person per night' - PERSTAY='Per stay' - PERUSE='Per use' - - -class StatusType(str, Enum): - ALPINEBITS_HANDSHAKE='ALPINEBITS_HANDSHAKE' - - -class StatusType1(str, Enum): - ALPINEBITS_HANDSHAKE='ALPINEBITS_HANDSHAKE' - - -class StatusType402(str, Enum): - OPEN='Open' - CLOSE='Close' - - -class StatusType458(str, Enum): - OPEN='Open' - CLOSE='Close' - - -class StatusType777(str, Enum): - OPEN='Open' - CLOSE='Close' - - -class StayContextType(str, Enum): - CHECKIN='Checkin' - CHECKOUT='Checkout' - - -class StayContextType373(str, Enum): - CHECKIN='Checkin' - CHECKOUT='Checkout' - - -class StayContextType741(str, Enum): - CHECKIN='Checkin' - CHECKOUT='Checkout' - - -class TextFormatType(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType111(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType115(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType147(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType195(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType198(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType203(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType214(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType220(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType226(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType230(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType234(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType237(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType27(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType278(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType286(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType294(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType317(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType323(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType332(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType338(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType344(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType350(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType38(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType417(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType430(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType482(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType511(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType562(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType566(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType598(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType646(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType654(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType662(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType685(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType691(str, Enum): - PLAIN_TEXT='PlainText' - - -class TextFormatType700(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType706(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType712(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType718(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType801(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TextFormatType830(str, Enum): - PLAIN_TEXT='PlainText' - HTML='HTML' - - -class TimeUnitType(str, Enum): - """TimeUnitType -- Defines the unit in which the time is expressed (e.g. year, day, hour). - - """ - YEAR='Year' - MONTH='Month' - WEEK='Week' - DAY='Day' - HOUR='Hour' - SECOND='Second' - FULL_DURATION='FullDuration' - MINUTE='Minute' - - -class TimeUnitType401(str, Enum): - DAY='Day' - - -class TimeUnitType423(str, Enum): - DAY='Day' - - -class TimeUnitType451(str, Enum): - DAY='Day' - - -class TimeUnitType494(str, Enum): - DAY='Day' - - -class TimeUnitType770(str, Enum): - DAY='Day' - - -class TimeUnitType813(str, Enum): - DAY='Day' - - -class TypeType(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType10(str, Enum): - _1_6='16' - _3_5='35' - - -class TypeType116(str, Enum): - _1_6='16' - - -class TypeType13(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType17(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType189(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType192(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType2(str, Enum): - _1_8='18' - - -class TypeType259(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType264(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType28(str, Enum): - _1_6='16' - - -class TypeType3(str, Enum): - IMAGE='Image' - - -class TypeType397(str, Enum): - _1_6='16' - - -class TypeType406(str, Enum): - _7='7' - _2_5='25' - - -class TypeType435(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType442(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType464(str, Enum): - _7='7' - _2_5='25' - - -class TypeType518(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType53(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType567(str, Enum): - _1_6='16' - - -class TypeType59(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType62(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType67(str, Enum): - _1_4='14' - _1_5='15' - - -class TypeType7(str, Enum): - _1_1='11' - _1_3='13' - - -class TypeType783(str, Enum): - _7='7' - _2_5='25' - - -class TypeType837(str, Enum): - _1_1='11' - _1_3='13' - - -class def_send_complete(str, Enum): - ALPINEBITS_SEND_HANDSHAKE='ALPINEBITS_SEND_HANDSHAKE' - ALPINEBITS_SEND_FREEROOMS='ALPINEBITS_SEND_FREEROOMS' - ALPINEBITS_SEND_RATEPLANS='ALPINEBITS_SEND_RATEPLANS' - ALPINEBITS_SEND_INVENTORY='ALPINEBITS_SEND_INVENTORY' - - -# -# Start data representation classes -# -class OTA_PingRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, EchoData=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.EchoData = EchoData - self.validate_def_nonempty_string(self.EchoData) - self.EchoData_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_PingRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_PingRQ.subclass: - return OTA_PingRQ.subclass(*args_, **kwargs_) - else: - return OTA_PingRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EchoData(self): - return self.EchoData - def set_EchoData(self, EchoData): - self.EchoData = EchoData - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.EchoData is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_PingRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_PingRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_PingRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_PingRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_PingRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EchoData is not None: - namespaceprefix_ = self.EchoData_nsprefix_ + ':' if (UseCapturedNS_ and self.EchoData_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEchoData>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EchoData), input_name='EchoData')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EchoData': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'EchoData') - value_ = self.gds_validate_string(value_, node, 'EchoData') - self.EchoData = value_ - self.EchoData_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.EchoData) -# end class OTA_PingRQ - - -class OTA_PingRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, EchoData=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.EchoData = EchoData - self.validate_def_nonempty_string(self.EchoData) - self.EchoData_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_PingRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_PingRS.subclass: - return OTA_PingRS.subclass(*args_, **kwargs_) - else: - return OTA_PingRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_EchoData(self): - return self.EchoData - def set_EchoData(self, EchoData): - self.EchoData = EchoData - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.EchoData is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_PingRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_PingRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_PingRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_PingRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_PingRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_PingRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.EchoData is not None: - namespaceprefix_ = self.EchoData_nsprefix_ + ':' if (UseCapturedNS_ and self.EchoData_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEchoData>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EchoData), input_name='EchoData')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'EchoData': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'EchoData') - value_ = self.gds_validate_string(value_, node, 'EchoData') - self.EchoData = value_ - self.EchoData_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.EchoData) -# end class OTA_PingRS - - -class Success(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, Success) - if subclass is not None: - return subclass(*args_, **kwargs_) - if Success.subclass: - return Success.subclass(*args_, **kwargs_) - else: - return Success(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Success', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('Success') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'Success': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Success') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Success', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Success'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Success', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class Success - - -class OTA_HotelPostEventNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, EventReports=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.EventReports = EventReports - self.EventReports_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelPostEventNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelPostEventNotifRQ.subclass: - return OTA_HotelPostEventNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelPostEventNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventReports(self): - return self.EventReports - def set_EventReports(self, EventReports): - self.EventReports = EventReports - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def has__content(self): - if ( - self.EventReports is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelPostEventNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelPostEventNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelPostEventNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelPostEventNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelPostEventNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventReports is not None: - namespaceprefix_ = self.EventReports_nsprefix_ + ':' if (UseCapturedNS_ and self.EventReports_nsprefix_) else '' - self.EventReports.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventReports', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventReports': - obj_ = EventReportsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventReports = obj_ - obj_.original_tagname_ = 'EventReports' -# end class OTA_HotelPostEventNotifRQ - - -class OTA_HotelPostEventNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelPostEventNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelPostEventNotifRS.subclass: - return OTA_HotelPostEventNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelPostEventNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelPostEventNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelPostEventNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelPostEventNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelPostEventNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelPostEventNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelPostEventNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType5.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType8.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelPostEventNotifRS - - -class OTA_HotelInvCountNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, UniqueID=None, Inventories=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.Inventories = Inventories - self.Inventories_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelInvCountNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelInvCountNotifRQ.subclass: - return OTA_HotelInvCountNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelInvCountNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_Inventories(self): - return self.Inventories - def set_Inventories(self, Inventories): - self.Inventories = Inventories - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def has__content(self): - if ( - self.UniqueID is not None or - self.Inventories is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelInvCountNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelInvCountNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelInvCountNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelInvCountNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelInvCountNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.Inventories is not None: - namespaceprefix_ = self.Inventories_nsprefix_ + ':' if (UseCapturedNS_ and self.Inventories_nsprefix_) else '' - self.Inventories.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Inventories', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'Inventories': - obj_ = InventoriesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Inventories = obj_ - obj_.original_tagname_ = 'Inventories' -# end class OTA_HotelInvCountNotifRQ - - -class OTA_HotelInvCountNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelInvCountNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelInvCountNotifRS.subclass: - return OTA_HotelInvCountNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelInvCountNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelInvCountNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelInvCountNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelInvCountNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelInvCountNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelInvCountNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelInvCountNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType11.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType14.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelInvCountNotifRS - - -class OTA_HotelResNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, HotelReservations=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.HotelReservations = HotelReservations - self.HotelReservations_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelResNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelResNotifRQ.subclass: - return OTA_HotelResNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelResNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservations(self): - return self.HotelReservations - def set_HotelReservations(self, HotelReservations): - self.HotelReservations = HotelReservations - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.HotelReservations is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelResNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelResNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelResNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelResNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelResNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelReservations is not None: - namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' - self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservations': - obj_ = HotelReservationsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservations = obj_ - obj_.original_tagname_ = 'HotelReservations' -# end class OTA_HotelResNotifRQ - - -class OTA_HotelResNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelReservations=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.HotelReservations = HotelReservations - self.HotelReservations_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelResNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelResNotifRS.subclass: - return OTA_HotelResNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelResNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_HotelReservations(self): - return self.HotelReservations - def set_HotelReservations(self, HotelReservations): - self.HotelReservations = HotelReservations - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.HotelReservations is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelResNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelResNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelResNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelResNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelResNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelResNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.HotelReservations is not None: - namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' - self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType51.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType54.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'HotelReservations': - obj_ = HotelReservationsType56.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservations = obj_ - obj_.original_tagname_ = 'HotelReservations' -# end class OTA_HotelResNotifRS - - -class OTA_ReadRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, ReadRequests=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.ReadRequests = ReadRequests - self.ReadRequests_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_ReadRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_ReadRQ.subclass: - return OTA_ReadRQ.subclass(*args_, **kwargs_) - else: - return OTA_ReadRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ReadRequests(self): - return self.ReadRequests - def set_ReadRequests(self, ReadRequests): - self.ReadRequests = ReadRequests - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.ReadRequests is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ReadRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_ReadRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_ReadRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_ReadRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_ReadRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_ReadRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ReadRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ReadRequests is not None: - namespaceprefix_ = self.ReadRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.ReadRequests_nsprefix_) else '' - self.ReadRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ReadRequests', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ReadRequests': - obj_ = ReadRequestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ReadRequests = obj_ - obj_.original_tagname_ = 'ReadRequests' -# end class OTA_ReadRQ - - -class OTA_ResRetrieveRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, ReservationsList=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.ReservationsList = ReservationsList - self.ReservationsList_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_ResRetrieveRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_ResRetrieveRS.subclass: - return OTA_ResRetrieveRS.subclass(*args_, **kwargs_) - else: - return OTA_ResRetrieveRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_ReservationsList(self): - return self.ReservationsList - def set_ReservationsList(self, ReservationsList): - self.ReservationsList = ReservationsList - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.ReservationsList is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ResRetrieveRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_ResRetrieveRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_ResRetrieveRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_ResRetrieveRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_ResRetrieveRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_ResRetrieveRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_ResRetrieveRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.ReservationsList is not None: - namespaceprefix_ = self.ReservationsList_nsprefix_ + ':' if (UseCapturedNS_ and self.ReservationsList_nsprefix_) else '' - self.ReservationsList.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ReservationsList', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType60.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType63.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'ReservationsList': - obj_ = ReservationsListType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ReservationsList = obj_ - obj_.original_tagname_ = 'ReservationsList' -# end class OTA_ResRetrieveRS - - -class OTA_NotifReportRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Success=None, Warnings=None, NotifDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.NotifDetails = NotifDetails - self.NotifDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_NotifReportRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_NotifReportRQ.subclass: - return OTA_NotifReportRQ.subclass(*args_, **kwargs_) - else: - return OTA_NotifReportRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_NotifDetails(self): - return self.NotifDetails - def set_NotifDetails(self, NotifDetails): - self.NotifDetails = NotifDetails - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Success is not None or - self.Warnings is not None or - self.NotifDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_NotifReportRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_NotifReportRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_NotifReportRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_NotifReportRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_NotifReportRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.NotifDetails is not None: - namespaceprefix_ = self.NotifDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.NotifDetails_nsprefix_) else '' - self.NotifDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NotifDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType184.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'NotifDetails': - obj_ = NotifDetailsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.NotifDetails = obj_ - obj_.original_tagname_ = 'NotifDetails' -# end class OTA_NotifReportRQ - - -class OTA_NotifReportRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_NotifReportRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_NotifReportRS.subclass: - return OTA_NotifReportRS.subclass(*args_, **kwargs_) - else: - return OTA_NotifReportRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_NotifReportRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_NotifReportRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_NotifReportRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_NotifReportRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_NotifReportRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_NotifReportRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType190.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType193.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_NotifReportRS - - -class OTA_HotelDescriptiveContentNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveContents=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.HotelDescriptiveContents = HotelDescriptiveContents - self.HotelDescriptiveContents_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveContentNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveContentNotifRQ.subclass: - return OTA_HotelDescriptiveContentNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveContentNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveContents(self): - return self.HotelDescriptiveContents - def set_HotelDescriptiveContents(self, HotelDescriptiveContents): - self.HotelDescriptiveContents = HotelDescriptiveContents - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.HotelDescriptiveContents is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveContentNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveContentNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveContentNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveContentNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveContentNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveContents is not None: - namespaceprefix_ = self.HotelDescriptiveContents_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContents_nsprefix_) else '' - self.HotelDescriptiveContents.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContents', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveContents': - obj_ = HotelDescriptiveContentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContents = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContents' -# end class OTA_HotelDescriptiveContentNotifRQ - - -class OTA_HotelDescriptiveContentNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveContentNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveContentNotifRS.subclass: - return OTA_HotelDescriptiveContentNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveContentNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveContentNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveContentNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveContentNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveContentNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveContentNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveContentNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType257.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType260.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelDescriptiveContentNotifRS - - -class OTA_HotelDescriptiveInfoRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveInfos=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.HotelDescriptiveInfos = HotelDescriptiveInfos - self.HotelDescriptiveInfos_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveInfoRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveInfoRQ.subclass: - return OTA_HotelDescriptiveInfoRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveInfoRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveInfos(self): - return self.HotelDescriptiveInfos - def set_HotelDescriptiveInfos(self, HotelDescriptiveInfos): - self.HotelDescriptiveInfos = HotelDescriptiveInfos - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.HotelDescriptiveInfos is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveInfoRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveInfoRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveInfoRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveInfoRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveInfoRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveInfos is not None: - namespaceprefix_ = self.HotelDescriptiveInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveInfos_nsprefix_) else '' - self.HotelDescriptiveInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveInfos', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveInfos': - obj_ = HotelDescriptiveInfosType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveInfos = obj_ - obj_.original_tagname_ = 'HotelDescriptiveInfos' -# end class OTA_HotelDescriptiveInfoRQ - - -class OTA_HotelDescriptiveInfoRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelDescriptiveContents=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.HotelDescriptiveContents = HotelDescriptiveContents - self.HotelDescriptiveContents_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelDescriptiveInfoRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelDescriptiveInfoRS.subclass: - return OTA_HotelDescriptiveInfoRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelDescriptiveInfoRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_HotelDescriptiveContents(self): - return self.HotelDescriptiveContents - def set_HotelDescriptiveContents(self, HotelDescriptiveContents): - self.HotelDescriptiveContents = HotelDescriptiveContents - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.HotelDescriptiveContents is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelDescriptiveInfoRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelDescriptiveInfoRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelDescriptiveInfoRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelDescriptiveInfoRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelDescriptiveInfoRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelDescriptiveInfoRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.HotelDescriptiveContents is not None: - namespaceprefix_ = self.HotelDescriptiveContents_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContents_nsprefix_) else '' - self.HotelDescriptiveContents.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContents', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType262.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType265.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'HotelDescriptiveContents': - obj_ = HotelDescriptiveContentsType267.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContents = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContents' -# end class OTA_HotelDescriptiveInfoRS - - -class OTA_HotelRatePlanNotifRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, UniqueID=None, RatePlans=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanNotifRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanNotifRQ.subclass: - return OTA_HotelRatePlanNotifRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanNotifRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.UniqueID is not None or - self.RatePlans is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanNotifRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanNotifRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanNotifRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanNotifRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanNotifRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType396.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType399.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' -# end class OTA_HotelRatePlanNotifRQ - - -class OTA_HotelRatePlanNotifRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanNotifRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanNotifRS.subclass: - return OTA_HotelRatePlanNotifRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanNotifRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanNotifRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanNotifRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanNotifRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanNotifRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanNotifRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanNotifRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType433.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType436.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' -# end class OTA_HotelRatePlanNotifRS - - -class OTA_HotelRatePlanRQ(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, RatePlans=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanRQ) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanRQ.subclass: - return OTA_HotelRatePlanRQ.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanRQ(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.RatePlans is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRQ', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanRQ') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanRQ': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanRQ') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanRQ', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanRQ'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRQ', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlans': - obj_ = RatePlansType438.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' -# end class OTA_HotelRatePlanRQ - - -class OTA_HotelRatePlanRS(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, RatePlans=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Version = _cast(None, Version) - self.Version_nsprefix_ = None - self.TimeStamp = _cast(None, TimeStamp) - self.TimeStamp_nsprefix_ = None - self.Errors = Errors - self.Errors_nsprefix_ = None - self.Success = Success - self.Success_nsprefix_ = None - self.Warnings = Warnings - self.Warnings_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OTA_HotelRatePlanRS) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OTA_HotelRatePlanRS.subclass: - return OTA_HotelRatePlanRS.subclass(*args_, **kwargs_) - else: - return OTA_HotelRatePlanRS(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Errors(self): - return self.Errors - def set_Errors(self, Errors): - self.Errors = Errors - def get_Success(self): - return self.Success - def set_Success(self, Success): - self.Success = Success - def get_Warnings(self): - return self.Warnings - def set_Warnings(self, Warnings): - self.Warnings = Warnings - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_Version(self): - return self.Version - def set_Version(self, Version): - self.Version = Version - def get_TimeStamp(self): - return self.TimeStamp - def set_TimeStamp(self, TimeStamp): - self.TimeStamp = TimeStamp - def has__content(self): - if ( - self.Errors is not None or - self.Success is not None or - self.Warnings is not None or - self.RatePlans is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRS', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OTA_HotelRatePlanRS') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OTA_HotelRatePlanRS': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OTA_HotelRatePlanRS') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OTA_HotelRatePlanRS', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OTA_HotelRatePlanRS'): - if self.Version is not None and 'Version' not in already_processed: - already_processed.add('Version') - outfile.write(' Version=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Version), input_name='Version')), )) - if self.TimeStamp is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - outfile.write(' TimeStamp=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeStamp), input_name='TimeStamp')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OTA_HotelRatePlanRS', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Errors is not None: - namespaceprefix_ = self.Errors_nsprefix_ + ':' if (UseCapturedNS_ and self.Errors_nsprefix_) else '' - self.Errors.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Errors', pretty_print=pretty_print) - if self.Success is not None: - namespaceprefix_ = self.Success_nsprefix_ + ':' if (UseCapturedNS_ and self.Success_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSuccess>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Success), input_name='Success')), namespaceprefix_ , eol_)) - if self.Warnings is not None: - namespaceprefix_ = self.Warnings_nsprefix_ + ':' if (UseCapturedNS_ and self.Warnings_nsprefix_) else '' - self.Warnings.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warnings', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Version', node) - if value is not None and 'Version' not in already_processed: - already_processed.add('Version') - self.Version = value - value = find_attr_value_('TimeStamp', node) - if value is not None and 'TimeStamp' not in already_processed: - already_processed.add('TimeStamp') - self.TimeStamp = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Errors': - obj_ = ErrorsType440.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Errors = obj_ - obj_.original_tagname_ = 'Errors' - elif nodeName_ == 'Success': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Success') - value_ = self.gds_validate_string(value_, node, 'Success') - self.Success = value_ - self.Success_nsprefix_ = child_.prefix - elif nodeName_ == 'Warnings': - obj_ = WarningsType443.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warnings = obj_ - obj_.original_tagname_ = 'Warnings' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType445.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' -# end class OTA_HotelRatePlanRS - - -class ErrorsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType.subclass: - return ErrorsType.subclass(*args_, **kwargs_) - else: - return ErrorsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType - - -class ErrorType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType.subclass: - return ErrorType.subclass(*args_, **kwargs_) - else: - return ErrorType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType(self, value): - # Validate type TypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StatusType(self, value): - # Validate type StatusType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_HANDSHAKE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType(self.Type) # validate type TypeType - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType(self.Status) # validate type StatusType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType - - -class WarningsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType.subclass: - return WarningsType.subclass(*args_, **kwargs_) - else: - return WarningsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType - - -class WarningType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType.subclass: - return WarningType.subclass(*args_, **kwargs_) - else: - return WarningType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StatusType1(self, value): - # Validate type StatusType1, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_HANDSHAKE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType1' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType1(self.Status) # validate type StatusType1 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType - - -class EventReportsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventReport=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if EventReport is None: - self.EventReport = [] - else: - self.EventReport = EventReport - self.EventReport_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventReportsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventReportsType.subclass: - return EventReportsType.subclass(*args_, **kwargs_) - else: - return EventReportsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventReport(self): - return self.EventReport - def set_EventReport(self, EventReport): - self.EventReport = EventReport - def add_EventReport(self, value): - self.EventReport.append(value) - def insert_EventReport_at(self, index, value): - self.EventReport.insert(index, value) - def replace_EventReport_at(self, index, value): - self.EventReport[index] = value - def has__content(self): - if ( - self.EventReport - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventReportsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventReportsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventReportsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventReportsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventReportsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for EventReport_ in self.EventReport: - namespaceprefix_ = self.EventReport_nsprefix_ + ':' if (UseCapturedNS_ and self.EventReport_nsprefix_) else '' - EventReport_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventReport', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventReport': - obj_ = EventReportType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventReport.append(obj_) - obj_.original_tagname_ = 'EventReport' -# end class EventReportsType - - -class EventReportType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventSites=None, GeneralEventInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EventSites = EventSites - self.EventSites_nsprefix_ = None - self.GeneralEventInfo = GeneralEventInfo - self.GeneralEventInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventReportType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventReportType.subclass: - return EventReportType.subclass(*args_, **kwargs_) - else: - return EventReportType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventSites(self): - return self.EventSites - def set_EventSites(self, EventSites): - self.EventSites = EventSites - def get_GeneralEventInfo(self): - return self.GeneralEventInfo - def set_GeneralEventInfo(self, GeneralEventInfo): - self.GeneralEventInfo = GeneralEventInfo - def has__content(self): - if ( - self.EventSites is not None or - self.GeneralEventInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventReportType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventReportType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventReportType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventReportType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventReportType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventReportType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventSites is not None: - namespaceprefix_ = self.EventSites_nsprefix_ + ':' if (UseCapturedNS_ and self.EventSites_nsprefix_) else '' - self.EventSites.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventSites', pretty_print=pretty_print) - if self.GeneralEventInfo is not None: - namespaceprefix_ = self.GeneralEventInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.GeneralEventInfo_nsprefix_) else '' - self.GeneralEventInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GeneralEventInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventSites': - obj_ = EventSitesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventSites = obj_ - obj_.original_tagname_ = 'EventSites' - elif nodeName_ == 'GeneralEventInfo': - obj_ = GeneralEventInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GeneralEventInfo = obj_ - obj_.original_tagname_ = 'GeneralEventInfo' -# end class EventReportType - - -class EventSitesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventSite=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EventSite = EventSite - self.EventSite_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventSitesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventSitesType.subclass: - return EventSitesType.subclass(*args_, **kwargs_) - else: - return EventSitesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventSite(self): - return self.EventSite - def set_EventSite(self, EventSite): - self.EventSite = EventSite - def has__content(self): - if ( - self.EventSite is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSitesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventSitesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventSitesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventSitesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventSitesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventSitesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSitesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventSite is not None: - namespaceprefix_ = self.EventSite_nsprefix_ + ':' if (UseCapturedNS_ and self.EventSite_nsprefix_) else '' - self.EventSite.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventSite', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventSite': - obj_ = EventSiteType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventSite = obj_ - obj_.original_tagname_ = 'EventSite' -# end class EventSitesType - - -class EventSiteType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, Event_ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.Event_ID = Event_ID - self.Event_ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventSiteType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventSiteType.subclass: - return EventSiteType.subclass(*args_, **kwargs_) - else: - return EventSiteType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Event_ID(self): - return self.Event_ID - def set_Event_ID(self, Event_ID): - self.Event_ID = Event_ID - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Event_ID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSiteType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventSiteType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventSiteType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventSiteType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventSiteType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventSiteType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventSiteType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Event_ID is not None: - namespaceprefix_ = self.Event_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Event_ID_nsprefix_) else '' - self.Event_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Event_ID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_def_one_to_sixteen_chars_string(self.HotelCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Event_ID': - obj_ = Event_IDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Event_ID = obj_ - obj_.original_tagname_ = 'Event_ID' -# end class EventSiteType - - -class Event_IDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, ID_Context=None, Type=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.ID_Context = _cast(None, ID_Context) - self.ID_Context_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, Event_IDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if Event_IDType.subclass: - return Event_IDType.subclass(*args_, **kwargs_) - else: - return Event_IDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_ID_Context(self): - return self.ID_Context - def set_ID_Context(self, ID_Context): - self.ID_Context = ID_Context - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType2(self, value): - # Validate type TypeType2, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['18'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Event_IDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('Event_IDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'Event_IDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Event_IDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Event_IDType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Event_IDType'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.ID_Context is not None and 'ID_Context' not in already_processed: - already_processed.add('ID_Context') - outfile.write(' ID_Context=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID_Context), input_name='ID_Context')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Event_IDType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - value = find_attr_value_('ID_Context', node) - if value is not None and 'ID_Context' not in already_processed: - already_processed.add('ID_Context') - self.ID_Context = value - self.validate_StringLength1to32(self.ID_Context) # validate type StringLength1to32 - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType2(self.Type) # validate type TypeType2 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class Event_IDType - - -class GeneralEventInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, URL=None, Acronym=None, EventContacts=None, AttendeeInfo=None, Dates=None, Comments=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.URL = _cast(None, URL) - self.URL_nsprefix_ = None - self.Acronym = _cast(None, Acronym) - self.Acronym_nsprefix_ = None - self.EventContacts = EventContacts - self.EventContacts_nsprefix_ = None - self.AttendeeInfo = AttendeeInfo - self.AttendeeInfo_nsprefix_ = None - self.Dates = Dates - self.Dates_nsprefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GeneralEventInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GeneralEventInfoType.subclass: - return GeneralEventInfoType.subclass(*args_, **kwargs_) - else: - return GeneralEventInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventContacts(self): - return self.EventContacts - def set_EventContacts(self, EventContacts): - self.EventContacts = EventContacts - def get_AttendeeInfo(self): - return self.AttendeeInfo - def set_AttendeeInfo(self, AttendeeInfo): - self.AttendeeInfo = AttendeeInfo - def get_Dates(self): - return self.Dates - def set_Dates(self, Dates): - self.Dates = Dates - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_Acronym(self): - return self.Acronym - def set_Acronym(self, Acronym): - self.Acronym = Acronym - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_url_string(self, value): - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.EventContacts is not None or - self.AttendeeInfo is not None or - self.Dates is not None or - self.Comments is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GeneralEventInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GeneralEventInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GeneralEventInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GeneralEventInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GeneralEventInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GeneralEventInfoType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.URL is not None and 'URL' not in already_processed: - already_processed.add('URL') - outfile.write(' URL=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.URL), input_name='URL')), )) - if self.Acronym is not None and 'Acronym' not in already_processed: - already_processed.add('Acronym') - outfile.write(' Acronym=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Acronym), input_name='Acronym')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GeneralEventInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EventContacts is not None: - namespaceprefix_ = self.EventContacts_nsprefix_ + ':' if (UseCapturedNS_ and self.EventContacts_nsprefix_) else '' - self.EventContacts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventContacts', pretty_print=pretty_print) - if self.AttendeeInfo is not None: - namespaceprefix_ = self.AttendeeInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AttendeeInfo_nsprefix_) else '' - self.AttendeeInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AttendeeInfo', pretty_print=pretty_print) - if self.Dates is not None: - namespaceprefix_ = self.Dates_nsprefix_ + ':' if (UseCapturedNS_ and self.Dates_nsprefix_) else '' - self.Dates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dates', pretty_print=pretty_print) - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_def_nonempty_string(self.Type) # validate type def_nonempty_string - value = find_attr_value_('URL', node) - if value is not None and 'URL' not in already_processed: - already_processed.add('URL') - self.URL = value - self.validate_def_url_string(self.URL) # validate type def_url_string - value = find_attr_value_('Acronym', node) - if value is not None and 'Acronym' not in already_processed: - already_processed.add('Acronym') - self.Acronym = value - self.validate_StringLength1to32(self.Acronym) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventContacts': - obj_ = EventContactsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventContacts = obj_ - obj_.original_tagname_ = 'EventContacts' - elif nodeName_ == 'AttendeeInfo': - obj_ = AttendeeInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AttendeeInfo = obj_ - obj_.original_tagname_ = 'AttendeeInfo' - elif nodeName_ == 'Dates': - obj_ = DatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Dates = obj_ - obj_.original_tagname_ = 'Dates' - elif nodeName_ == 'Comments': - obj_ = CommentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' -# end class GeneralEventInfoType - - -class EventContactsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EventContact=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if EventContact is None: - self.EventContact = [] - else: - self.EventContact = EventContact - self.EventContact_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventContactsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventContactsType.subclass: - return EventContactsType.subclass(*args_, **kwargs_) - else: - return EventContactsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EventContact(self): - return self.EventContact - def set_EventContact(self, EventContact): - self.EventContact = EventContact - def add_EventContact(self, value): - self.EventContact.append(value) - def insert_EventContact_at(self, index, value): - self.EventContact.insert(index, value) - def replace_EventContact_at(self, index, value): - self.EventContact[index] = value - def has__content(self): - if ( - self.EventContact - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventContactsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventContactsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventContactsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventContactsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventContactsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for EventContact_ in self.EventContact: - namespaceprefix_ = self.EventContact_nsprefix_ + ':' if (UseCapturedNS_ and self.EventContact_nsprefix_) else '' - EventContact_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EventContact', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EventContact': - obj_ = EventContactType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EventContact.append(obj_) - obj_.original_tagname_ = 'EventContact' -# end class EventContactsType - - -class EventContactType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Role=None, PersonName=None, URL=None, EmployeeInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Role = _cast(None, Role) - self.Role_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - self.URL = URL - self.URL_nsprefix_ = None - self.EmployeeInfo = EmployeeInfo - self.EmployeeInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EventContactType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EventContactType.subclass: - return EventContactType.subclass(*args_, **kwargs_) - else: - return EventContactType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_EmployeeInfo(self): - return self.EmployeeInfo - def set_EmployeeInfo(self, EmployeeInfo): - self.EmployeeInfo = EmployeeInfo - def get_Role(self): - return self.Role - def set_Role(self, Role): - self.Role = Role - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.PersonName is not None or - self.URL is not None or - self.EmployeeInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EventContactType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EventContactType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EventContactType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EventContactType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EventContactType'): - if self.Role is not None and 'Role' not in already_processed: - already_processed.add('Role') - outfile.write(' Role=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Role), input_name='Role')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EventContactType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - self.URL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) - if self.EmployeeInfo is not None: - namespaceprefix_ = self.EmployeeInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.EmployeeInfo_nsprefix_) else '' - self.EmployeeInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EmployeeInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Role', node) - if value is not None and 'Role' not in already_processed: - already_processed.add('Role') - self.Role = value - self.validate_StringLength1to32(self.Role) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'URL': - obj_ = URLType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URL = obj_ - obj_.original_tagname_ = 'URL' - elif nodeName_ == 'EmployeeInfo': - obj_ = EmployeeInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EmployeeInfo = obj_ - obj_.original_tagname_ = 'EmployeeInfo' -# end class EventContactType - - -class PersonNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GivenName=None, Surname=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GivenName = GivenName - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.Surname_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType.subclass: - return PersonNameType.subclass(*args_, **kwargs_) - else: - return PersonNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def has__content(self): - if ( - self.GivenName is not None or - self.Surname is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - self.GivenName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GivenName', pretty_print=pretty_print) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - self.Surname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Surname', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GivenName': - obj_ = GivenNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GivenName = obj_ - obj_.original_tagname_ = 'GivenName' - elif nodeName_ == 'Surname': - obj_ = SurnameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Surname = obj_ - obj_.original_tagname_ = 'Surname' -# end class PersonNameType - - -class GivenNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GivenNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GivenNameType.subclass: - return GivenNameType.subclass(*args_, **kwargs_) - else: - return GivenNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GivenNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GivenNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GivenNameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GivenNameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GivenNameType - - -class SurnameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SurnameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SurnameType.subclass: - return SurnameType.subclass(*args_, **kwargs_) - else: - return SurnameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SurnameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SurnameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SurnameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SurnameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SurnameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SurnameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class SurnameType - - -class URLType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType.subclass: - return URLType.subclass(*args_, **kwargs_) - else: - return URLType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TypeType3(self, value): - # Validate type TypeType3, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Image'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType3' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType3(self.Type) # validate type TypeType3 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType - - -class EmployeeInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmployeeId=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmployeeId = _cast(None, EmployeeId) - self.EmployeeId_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmployeeInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmployeeInfoType.subclass: - return EmployeeInfoType.subclass(*args_, **kwargs_) - else: - return EmployeeInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmployeeId(self): - return self.EmployeeId - def set_EmployeeId(self, EmployeeId): - self.EmployeeId = EmployeeId - def validate_EmployeeIdType(self, value): - # Validate type EmployeeIdType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on EmployeeIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on EmployeeIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmployeeInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmployeeInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmployeeInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmployeeInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmployeeInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmployeeInfoType'): - if self.EmployeeId is not None and 'EmployeeId' not in already_processed: - already_processed.add('EmployeeId') - outfile.write(' EmployeeId=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmployeeId), input_name='EmployeeId')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmployeeInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmployeeId', node) - if value is not None and 'EmployeeId' not in already_processed: - already_processed.add('EmployeeId') - self.EmployeeId = value - self.validate_EmployeeIdType(self.EmployeeId) # validate type EmployeeIdType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmployeeInfoType - - -class AttendeeInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TotalQuantity=None, PreRegisteredQuantity=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TotalQuantity = _cast(int, TotalQuantity) - self.TotalQuantity_nsprefix_ = None - self.PreRegisteredQuantity = _cast(int, PreRegisteredQuantity) - self.PreRegisteredQuantity_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AttendeeInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AttendeeInfoType.subclass: - return AttendeeInfoType.subclass(*args_, **kwargs_) - else: - return AttendeeInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TotalQuantity(self): - return self.TotalQuantity - def set_TotalQuantity(self, TotalQuantity): - self.TotalQuantity = TotalQuantity - def get_PreRegisteredQuantity(self): - return self.PreRegisteredQuantity - def set_PreRegisteredQuantity(self, PreRegisteredQuantity): - self.PreRegisteredQuantity = PreRegisteredQuantity - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AttendeeInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AttendeeInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AttendeeInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AttendeeInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AttendeeInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AttendeeInfoType'): - if self.TotalQuantity is not None and 'TotalQuantity' not in already_processed: - already_processed.add('TotalQuantity') - outfile.write(' TotalQuantity="%s"' % self.gds_format_integer(self.TotalQuantity, input_name='TotalQuantity')) - if self.PreRegisteredQuantity is not None and 'PreRegisteredQuantity' not in already_processed: - already_processed.add('PreRegisteredQuantity') - outfile.write(' PreRegisteredQuantity="%s"' % self.gds_format_integer(self.PreRegisteredQuantity, input_name='PreRegisteredQuantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AttendeeInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TotalQuantity', node) - if value is not None and 'TotalQuantity' not in already_processed: - already_processed.add('TotalQuantity') - self.TotalQuantity = self.gds_parse_integer(value, node, 'TotalQuantity') - if self.TotalQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.TotalQuantity) # validate type def_int_ge0 - value = find_attr_value_('PreRegisteredQuantity', node) - if value is not None and 'PreRegisteredQuantity' not in already_processed: - already_processed.add('PreRegisteredQuantity') - self.PreRegisteredQuantity = self.gds_parse_integer(value, node, 'PreRegisteredQuantity') - if self.PreRegisteredQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.PreRegisteredQuantity) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AttendeeInfoType - - -class DatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Date=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Date is None: - self.Date = [] - else: - self.Date = Date - self.Date_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DatesType.subclass: - return DatesType.subclass(*args_, **kwargs_) - else: - return DatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Date(self): - return self.Date - def set_Date(self, Date): - self.Date = Date - def add_Date(self, value): - self.Date.append(value) - def insert_Date_at(self, index, value): - self.Date.insert(index, value) - def replace_Date_at(self, index, value): - self.Date[index] = value - def has__content(self): - if ( - self.Date - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Date_ in self.Date: - namespaceprefix_ = self.Date_nsprefix_ + ':' if (UseCapturedNS_ and self.Date_nsprefix_) else '' - Date_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Date', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Date': - obj_ = DateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Date.append(obj_) - obj_.original_tagname_ = 'Date' -# end class DatesType - - -class DateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, EndDateWindow=None, LocationCategories=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.EndDateWindow = EndDateWindow - self.EndDateWindow_nsprefix_ = None - self.LocationCategories = LocationCategories - self.LocationCategories_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DateType.subclass: - return DateType.subclass(*args_, **kwargs_) - else: - return DateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EndDateWindow(self): - return self.EndDateWindow - def set_EndDateWindow(self, EndDateWindow): - self.EndDateWindow = EndDateWindow - def get_LocationCategories(self): - return self.LocationCategories - def set_LocationCategories(self, LocationCategories): - self.LocationCategories = LocationCategories - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_DateOrTimeOrDateTimeType(self, value): - # Validate type DateOrTimeOrDateTimeType, a restriction on None. - pass - def has__content(self): - if ( - self.EndDateWindow is not None or - self.LocationCategories is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DateType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DateType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (quote_attrib(self.Start), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (quote_attrib(self.End), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DateType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.EndDateWindow is not None: - namespaceprefix_ = self.EndDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.EndDateWindow_nsprefix_) else '' - self.EndDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EndDateWindow', pretty_print=pretty_print) - if self.LocationCategories is not None: - namespaceprefix_ = self.LocationCategories_nsprefix_ + ':' if (UseCapturedNS_ and self.LocationCategories_nsprefix_) else '' - self.LocationCategories.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LocationCategories', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_DateOrTimeOrDateTimeType(self.Start) # validate type DateOrTimeOrDateTimeType - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_DateOrTimeOrDateTimeType(self.End) # validate type DateOrTimeOrDateTimeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'EndDateWindow': - obj_ = EndDateWindowType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.EndDateWindow = obj_ - obj_.original_tagname_ = 'EndDateWindow' - elif nodeName_ == 'LocationCategories': - obj_ = LocationCategoriesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LocationCategories = obj_ - obj_.original_tagname_ = 'LocationCategories' -# end class DateType - - -class EndDateWindowType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LatestDate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.LatestDate = _cast(None, LatestDate) - self.LatestDate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EndDateWindowType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EndDateWindowType.subclass: - return EndDateWindowType.subclass(*args_, **kwargs_) - else: - return EndDateWindowType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LatestDate(self): - return self.LatestDate - def set_LatestDate(self, LatestDate): - self.LatestDate = LatestDate - def validate_DateOrDateTimeType(self, value): - # Validate type DateOrDateTimeType, a restriction on None. - pass - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EndDateWindowType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EndDateWindowType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EndDateWindowType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EndDateWindowType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EndDateWindowType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EndDateWindowType'): - if self.LatestDate is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - outfile.write(' LatestDate=%s' % (quote_attrib(self.LatestDate), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EndDateWindowType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('LatestDate', node) - if value is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - self.LatestDate = value - self.validate_DateOrDateTimeType(self.LatestDate) # validate type DateOrDateTimeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EndDateWindowType - - -class LocationCategoriesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Category=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = Location - self.Location_nsprefix_ = None - if Category is None: - self.Category = [] - else: - self.Category = Category - self.Category_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LocationCategoriesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LocationCategoriesType.subclass: - return LocationCategoriesType.subclass(*args_, **kwargs_) - else: - return LocationCategoriesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def add_Category(self, value): - self.Category.append(value) - def insert_Category_at(self, index, value): - self.Category.insert(index, value) - def replace_Category_at(self, index, value): - self.Category[index] = value - def has__content(self): - if ( - self.Location is not None or - self.Category - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LocationCategoriesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LocationCategoriesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LocationCategoriesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LocationCategoriesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LocationCategoriesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LocationCategoriesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LocationCategoriesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Location is not None: - namespaceprefix_ = self.Location_nsprefix_ + ':' if (UseCapturedNS_ and self.Location_nsprefix_) else '' - self.Location.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Location', pretty_print=pretty_print) - for Category_ in self.Category: - namespaceprefix_ = self.Category_nsprefix_ + ':' if (UseCapturedNS_ and self.Category_nsprefix_) else '' - Category_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Category', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Location': - obj_ = LocationType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Location = obj_ - obj_.original_tagname_ = 'Location' - elif nodeName_ == 'Category': - obj_ = CategoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Category.append(obj_) - obj_.original_tagname_ = 'Category' -# end class LocationCategoriesType - - -class LocationType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AreaID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AreaID = _cast(None, AreaID) - self.AreaID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LocationType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LocationType.subclass: - return LocationType.subclass(*args_, **kwargs_) - else: - return LocationType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AreaID(self): - return self.AreaID - def set_AreaID(self, AreaID): - self.AreaID = AreaID - def validate_NumericStringLength1to8(self, value): - # Validate type NumericStringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to8_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) - validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LocationType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LocationType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LocationType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LocationType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LocationType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LocationType'): - if self.AreaID is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LocationType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AreaID', node) - if value is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - self.AreaID = value - self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LocationType - - -class CategoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CategoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CategoryType.subclass: - return CategoryType.subclass(*args_, **kwargs_) - else: - return CategoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType(self, value): - # Validate type LanguageType, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType_patterns_, )) - validate_LanguageType_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CategoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CategoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryType'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CategoryType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType(self.Language) # validate type LanguageType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CategoryType - - -class CommentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType.subclass: - return CommentsType.subclass(*args_, **kwargs_) - else: - return CommentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType - - -class CommentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, Text=None, Image=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType.subclass: - return CommentType.subclass(*args_, **kwargs_) - else: - return CommentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType(self, value): - # Validate type NameType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Title', 'Category', 'Gallery', 'Description'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text or - self.Image - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - Image_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Image', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType(self.Name) # validate type NameType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'Image': - obj_ = ImageType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Image.append(obj_) - obj_.original_tagname_ = 'Image' -# end class CommentType - - -class TextType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType.subclass: - return TextType.subclass(*args_, **kwargs_) - else: - return TextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType4(self, value): - # Validate type LanguageType4, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType4_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType4_patterns_, )) - validate_LanguageType4_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType4(self.Language) # validate type LanguageType4 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType - - -class ImageType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageType.subclass: - return ImageType.subclass(*args_, **kwargs_) - else: - return ImageType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ImageType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ImageType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ImageType - - -class ErrorsType5(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType5) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType5.subclass: - return ErrorsType5.subclass(*args_, **kwargs_) - else: - return ErrorsType5(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType5', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType5') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType5': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType5') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType5', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType5'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType5', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType6.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType5 - - -class ErrorType6(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType6) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType6.subclass: - return ErrorType6.subclass(*args_, **kwargs_) - else: - return ErrorType6(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType7(self, value): - # Validate type TypeType7, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType7' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType6', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType6') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType6': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType6') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType6'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType6', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType7(self.Type) # validate type TypeType7 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType6 - - -class WarningsType8(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType8) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType8.subclass: - return WarningsType8.subclass(*args_, **kwargs_) - else: - return WarningsType8(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType8', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType8') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType8': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType8') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType8', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType8'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType8', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType9.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType8 - - -class WarningType9(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType9) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType9.subclass: - return WarningType9.subclass(*args_, **kwargs_) - else: - return WarningType9(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType9', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType9') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType9': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType9') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType9'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType9', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType9 - - -class UniqueIDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, Instance=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Instance = _cast(None, Instance) - self.Instance_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType.subclass: - return UniqueIDType.subclass(*args_, **kwargs_) - else: - return UniqueIDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Instance(self): - return self.Instance - def set_Instance(self, Instance): - self.Instance = Instance - def validate_TypeType10(self, value): - # Validate type TypeType10, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16', '35'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType10' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InstanceType(self, value): - # Validate type InstanceType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['CompleteSet'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InstanceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Instance is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - outfile.write(' Instance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Instance), input_name='Instance')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType10(self.Type) # validate type TypeType10 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - value = find_attr_value_('Instance', node) - if value is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - self.Instance = value - self.validate_InstanceType(self.Instance) # validate type InstanceType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType - - -class InventoriesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, Inventory=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if Inventory is None: - self.Inventory = [] - else: - self.Inventory = Inventory - self.Inventory_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InventoriesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InventoriesType.subclass: - return InventoriesType.subclass(*args_, **kwargs_) - else: - return InventoriesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Inventory(self): - return self.Inventory - def set_Inventory(self, Inventory): - self.Inventory = Inventory - def add_Inventory(self, value): - self.Inventory.append(value) - def insert_Inventory_at(self, index, value): - self.Inventory.insert(index, value) - def replace_Inventory_at(self, index, value): - self.Inventory[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Inventory - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoriesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InventoriesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InventoriesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InventoriesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InventoriesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InventoriesType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoriesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Inventory_ in self.Inventory: - namespaceprefix_ = self.Inventory_nsprefix_ + ':' if (UseCapturedNS_ and self.Inventory_nsprefix_) else '' - Inventory_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Inventory', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Inventory': - obj_ = InventoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Inventory.append(obj_) - obj_.original_tagname_ = 'Inventory' -# end class InventoriesType - - -class InventoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StatusApplicationControl=None, InvCounts=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StatusApplicationControl = StatusApplicationControl - self.StatusApplicationControl_nsprefix_ = None - self.InvCounts = InvCounts - self.InvCounts_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InventoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InventoryType.subclass: - return InventoryType.subclass(*args_, **kwargs_) - else: - return InventoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StatusApplicationControl(self): - return self.StatusApplicationControl - def set_StatusApplicationControl(self, StatusApplicationControl): - self.StatusApplicationControl = StatusApplicationControl - def get_InvCounts(self): - return self.InvCounts - def set_InvCounts(self, InvCounts): - self.InvCounts = InvCounts - def has__content(self): - if ( - self.StatusApplicationControl is not None or - self.InvCounts is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InventoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InventoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InventoryType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InventoryType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InventoryType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InventoryType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StatusApplicationControl is not None: - namespaceprefix_ = self.StatusApplicationControl_nsprefix_ + ':' if (UseCapturedNS_ and self.StatusApplicationControl_nsprefix_) else '' - self.StatusApplicationControl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StatusApplicationControl', pretty_print=pretty_print) - if self.InvCounts is not None: - namespaceprefix_ = self.InvCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.InvCounts_nsprefix_) else '' - self.InvCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='InvCounts', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StatusApplicationControl': - obj_ = StatusApplicationControlType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StatusApplicationControl = obj_ - obj_.original_tagname_ = 'StatusApplicationControl' - elif nodeName_ == 'InvCounts': - obj_ = InvCountsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.InvCounts = obj_ - obj_.original_tagname_ = 'InvCounts' -# end class InventoryType - - -class StatusApplicationControlType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, InvTypeCode=None, InvCode=None, AllInvCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.AllInvCode = _cast(bool, AllInvCode) - self.AllInvCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StatusApplicationControlType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StatusApplicationControlType.subclass: - return StatusApplicationControlType.subclass(*args_, **kwargs_) - else: - return StatusApplicationControlType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_AllInvCode(self): - return self.AllInvCode - def set_AllInvCode(self, AllInvCode): - self.AllInvCode = AllInvCode - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StatusApplicationControlType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StatusApplicationControlType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StatusApplicationControlType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StatusApplicationControlType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StatusApplicationControlType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StatusApplicationControlType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.AllInvCode is not None and 'AllInvCode' not in already_processed: - already_processed.add('AllInvCode') - outfile.write(' AllInvCode="%s"' % self.gds_format_boolean(self.AllInvCode, input_name='AllInvCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StatusApplicationControlType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('AllInvCode', node) - if value is not None and 'AllInvCode' not in already_processed: - already_processed.add('AllInvCode') - if value in ('true', '1'): - self.AllInvCode = True - elif value in ('false', '0'): - self.AllInvCode = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.AllInvCode) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StatusApplicationControlType - - -class InvCountsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if InvCount is None: - self.InvCount = [] - else: - self.InvCount = InvCount - self.InvCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InvCountsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InvCountsType.subclass: - return InvCountsType.subclass(*args_, **kwargs_) - else: - return InvCountsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCount(self): - return self.InvCount - def set_InvCount(self, InvCount): - self.InvCount = InvCount - def add_InvCount(self, value): - self.InvCount.append(value) - def insert_InvCount_at(self, index, value): - self.InvCount.insert(index, value) - def replace_InvCount_at(self, index, value): - self.InvCount[index] = value - def has__content(self): - if ( - self.InvCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InvCountsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InvCountsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InvCountsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InvCountsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InvCountsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InvCountsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='InvCountsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for InvCount_ in self.InvCount: - namespaceprefix_ = self.InvCount_nsprefix_ + ':' if (UseCapturedNS_ and self.InvCount_nsprefix_) else '' - InvCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='InvCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'InvCount': - obj_ = InvCountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.InvCount.append(obj_) - obj_.original_tagname_ = 'InvCount' -# end class InvCountsType - - -class InvCountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CountType=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CountType = _cast(None, CountType) - self.CountType_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, InvCountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if InvCountType.subclass: - return InvCountType.subclass(*args_, **kwargs_) - else: - return InvCountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CountType(self): - return self.CountType - def set_CountType(self, CountType): - self.CountType = CountType - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_CountTypeType(self, value): - # Validate type CountTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['2', '6', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CountTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='InvCountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('InvCountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'InvCountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='InvCountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='InvCountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='InvCountType'): - if self.CountType is not None and 'CountType' not in already_processed: - already_processed.add('CountType') - outfile.write(' CountType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CountType), input_name='CountType')), )) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='InvCountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CountType', node) - if value is not None and 'CountType' not in already_processed: - already_processed.add('CountType') - self.CountType = value - self.validate_CountTypeType(self.CountType) # validate type CountTypeType - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Count) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class InvCountType - - -class ErrorsType11(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType11) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType11.subclass: - return ErrorsType11.subclass(*args_, **kwargs_) - else: - return ErrorsType11(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType11', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType11') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType11': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType11') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType11', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType11'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType11', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType12.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType11 - - -class ErrorType12(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType12) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType12.subclass: - return ErrorType12.subclass(*args_, **kwargs_) - else: - return ErrorType12(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType13(self, value): - # Validate type TypeType13, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType13' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType12', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType12') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType12': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType12') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType12'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType12', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType13(self.Type) # validate type TypeType13 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType12 - - -class WarningsType14(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType14) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType14.subclass: - return WarningsType14.subclass(*args_, **kwargs_) - else: - return WarningsType14(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType14', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType14') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType14': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType14') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType14', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType14'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType14', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType15.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType14 - - -class WarningType15(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType15) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType15.subclass: - return WarningType15.subclass(*args_, **kwargs_) - else: - return WarningType15(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType15', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType15') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType15': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType15') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType15'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType15', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType15 - - -class HotelReservationsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservation is None: - self.HotelReservation = [] - else: - self.HotelReservation = HotelReservation - self.HotelReservation_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationsType.subclass: - return HotelReservationsType.subclass(*args_, **kwargs_) - else: - return HotelReservationsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservation(self): - return self.HotelReservation - def set_HotelReservation(self, HotelReservation): - self.HotelReservation = HotelReservation - def add_HotelReservation(self, value): - self.HotelReservation.append(value) - def insert_HotelReservation_at(self, index, value): - self.HotelReservation.insert(index, value) - def replace_HotelReservation_at(self, index, value): - self.HotelReservation[index] = value - def has__content(self): - if ( - self.HotelReservation - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservation_ in self.HotelReservation: - namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' - HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservation': - obj_ = HotelReservationType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservation.append(obj_) - obj_.original_tagname_ = 'HotelReservation' -# end class HotelReservationsType - - -class HotelReservationType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CreateDateTime = _cast(None, CreateDateTime) - self.CreateDateTime_nsprefix_ = None - self.LastModifyDateTime = _cast(None, LastModifyDateTime) - self.LastModifyDateTime_nsprefix_ = None - self.ResStatus = _cast(None, ResStatus) - self.ResStatus_nsprefix_ = None - self.RoomStayReservation = _cast(bool, RoomStayReservation) - self.RoomStayReservation_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RoomStays = RoomStays - self.RoomStays_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - self.ResGuests = ResGuests - self.ResGuests_nsprefix_ = None - self.ResGlobalInfo = ResGlobalInfo - self.ResGlobalInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType.subclass: - return HotelReservationType.subclass(*args_, **kwargs_) - else: - return HotelReservationType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RoomStays(self): - return self.RoomStays - def set_RoomStays(self, RoomStays): - self.RoomStays = RoomStays - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_ResGuests(self): - return self.ResGuests - def set_ResGuests(self, ResGuests): - self.ResGuests = ResGuests - def get_ResGlobalInfo(self): - return self.ResGlobalInfo - def set_ResGlobalInfo(self, ResGlobalInfo): - self.ResGlobalInfo = ResGlobalInfo - def get_CreateDateTime(self): - return self.CreateDateTime - def set_CreateDateTime(self, CreateDateTime): - self.CreateDateTime = CreateDateTime - def get_LastModifyDateTime(self): - return self.LastModifyDateTime - def set_LastModifyDateTime(self, LastModifyDateTime): - self.LastModifyDateTime = LastModifyDateTime - def get_ResStatus(self): - return self.ResStatus - def set_ResStatus(self, ResStatus): - self.ResStatus = ResStatus - def get_RoomStayReservation(self): - return self.RoomStayReservation - def set_RoomStayReservation(self, RoomStayReservation): - self.RoomStayReservation = RoomStayReservation - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def validate_ResStatusType(self, value): - # Validate type ResStatusType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.UniqueID is not None or - self.RoomStays is not None or - self.Services is not None or - self.ResGuests is not None or - self.ResGlobalInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType'): - if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) - if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) - if self.ResStatus is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) - if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RoomStays is not None: - namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' - self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - if self.ResGuests is not None: - namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' - self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) - if self.ResGlobalInfo is not None: - namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' - self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CreateDateTime', node) - if value is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - try: - self.CreateDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) - self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime - value = find_attr_value_('LastModifyDateTime', node) - if value is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - try: - self.LastModifyDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) - self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime - value = find_attr_value_('ResStatus', node) - if value is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - self.ResStatus = value - self.validate_ResStatusType(self.ResStatus) # validate type ResStatusType - value = find_attr_value_('RoomStayReservation', node) - if value is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - if value in ('true', '1'): - self.RoomStayReservation = True - elif value in ('false', '0'): - self.RoomStayReservation = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RoomStayReservation) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType16.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RoomStays': - obj_ = RoomStaysType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStays = obj_ - obj_.original_tagname_ = 'RoomStays' - elif nodeName_ == 'Services': - obj_ = ServicesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' - elif nodeName_ == 'ResGuests': - obj_ = ResGuestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuests = obj_ - obj_.original_tagname_ = 'ResGuests' - elif nodeName_ == 'ResGlobalInfo': - obj_ = ResGlobalInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGlobalInfo = obj_ - obj_.original_tagname_ = 'ResGlobalInfo' -# end class HotelReservationType - - -class UniqueIDType16(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType16) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType16.subclass: - return UniqueIDType16.subclass(*args_, **kwargs_) - else: - return UniqueIDType16(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType17(self, value): - # Validate type TypeType17, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType17' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType16', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType16') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType16': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType16') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType16', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType16'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType16', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType17(self.Type) # validate type TypeType17 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType16 - - -class RoomStaysType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if RoomStay is None: - self.RoomStay = [] - else: - self.RoomStay = RoomStay - self.RoomStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStaysType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStaysType.subclass: - return RoomStaysType.subclass(*args_, **kwargs_) - else: - return RoomStaysType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomStay(self): - return self.RoomStay - def set_RoomStay(self, RoomStay): - self.RoomStay = RoomStay - def add_RoomStay(self, value): - self.RoomStay.append(value) - def insert_RoomStay_at(self, index, value): - self.RoomStay.insert(index, value) - def replace_RoomStay_at(self, index, value): - self.RoomStay[index] = value - def has__content(self): - if ( - self.RoomStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStaysType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RoomStay_ in self.RoomStay: - namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' - RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomStay': - obj_ = RoomStayType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStay.append(obj_) - obj_.original_tagname_ = 'RoomStay' -# end class RoomStaysType - - -class RoomStayType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomStayGroupID = _cast(None, RoomStayGroupID) - self.RoomStayGroupID_nsprefix_ = None - self.RoomTypes = RoomTypes - self.RoomTypes_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - self.RoomRates = RoomRates - self.RoomRates_nsprefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Guarantee = Guarantee - self.Guarantee_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceRPHs = ServiceRPHs - self.ServiceRPHs_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStayType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStayType.subclass: - return RoomStayType.subclass(*args_, **kwargs_) - else: - return RoomStayType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypes(self): - return self.RoomTypes - def set_RoomTypes(self, RoomTypes): - self.RoomTypes = RoomTypes - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_RoomRates(self): - return self.RoomRates - def set_RoomRates(self, RoomRates): - self.RoomRates = RoomRates - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Guarantee(self): - return self.Guarantee - def set_Guarantee(self, Guarantee): - self.Guarantee = Guarantee - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceRPHs(self): - return self.ServiceRPHs - def set_ServiceRPHs(self, ServiceRPHs): - self.ServiceRPHs = ServiceRPHs - def get_RoomStayGroupID(self): - return self.RoomStayGroupID - def set_RoomStayGroupID(self, RoomStayGroupID): - self.RoomStayGroupID = RoomStayGroupID - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RoomTypes is not None or - self.RatePlans is not None or - self.RoomRates is not None or - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Guarantee is not None or - self.Total is not None or - self.ServiceRPHs is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStayType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType'): - if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomTypes is not None: - namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' - self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - if self.RoomRates is not None: - namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' - self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Guarantee is not None: - namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' - self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceRPHs is not None: - namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' - self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomStayGroupID', node) - if value is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - self.RoomStayGroupID = value - self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomTypes': - obj_ = RoomTypesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomTypes = obj_ - obj_.original_tagname_ = 'RoomTypes' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' - elif nodeName_ == 'RoomRates': - obj_ = RoomRatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRates = obj_ - obj_.original_tagname_ = 'RoomRates' - elif nodeName_ == 'GuestCounts': - obj_ = GuestCountsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Guarantee': - obj_ = GuaranteeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guarantee = obj_ - obj_.original_tagname_ = 'Guarantee' - elif nodeName_ == 'Total': - obj_ = TotalType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceRPHs': - obj_ = ServiceRPHsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPHs = obj_ - obj_.original_tagname_ = 'ServiceRPHs' -# end class RoomStayType - - -class RoomTypesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomType = RoomType - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypesType.subclass: - return RoomTypesType.subclass(*args_, **kwargs_) - else: - return RoomTypesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def has__content(self): - if ( - self.RoomType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomType is not None: - namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' - self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomType': - obj_ = RoomTypeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomType = obj_ - obj_.original_tagname_ = 'RoomType' -# end class RoomTypesType - - -class RoomTypeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypeType.subclass: - return RoomTypeType.subclass(*args_, **kwargs_) - else: - return RoomTypeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_RoomTypeType18(self, value): - # Validate type RoomTypeType18, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType18' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType'): - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType18(self.RoomType) # validate type RoomTypeType18 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RoomTypeType - - -class RatePlansType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType.subclass: - return RatePlansType.subclass(*args_, **kwargs_) - else: - return RatePlansType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType - - -class RatePlanType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.Commission = Commission - self.Commission_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType.subclass: - return RatePlanType.subclass(*args_, **kwargs_) - else: - return RatePlanType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Commission(self): - return self.Commission - def set_Commission(self, Commission): - self.Commission = Commission - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Commission is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Commission is not None: - namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' - self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Commission': - obj_ = CommissionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Commission = obj_ - obj_.original_tagname_ = 'Commission' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RatePlanType - - -class CommissionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(int, Percent) - self.Percent_nsprefix_ = None - self.CommissionPayableAmount = CommissionPayableAmount - self.CommissionPayableAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionType.subclass: - return CommissionType.subclass(*args_, **kwargs_) - else: - return CommissionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CommissionPayableAmount(self): - return self.CommissionPayableAmount - def set_CommissionPayableAmount(self, CommissionPayableAmount): - self.CommissionPayableAmount = CommissionPayableAmount - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CommissionPayableAmount is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CommissionPayableAmount is not None: - namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' - self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = self.gds_parse_integer(value, node, 'Percent') - if self.Percent < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CommissionPayableAmount': - obj_ = CommissionPayableAmountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CommissionPayableAmount = obj_ - obj_.original_tagname_ = 'CommissionPayableAmount' -# end class CommissionType - - -class CommissionPayableAmountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionPayableAmountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionPayableAmountType.subclass: - return CommissionPayableAmountType.subclass(*args_, **kwargs_) - else: - return CommissionPayableAmountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CommissionPayableAmountType - - -class MealsIncludedType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType.subclass: - return MealsIncludedType.subclass(*args_, **kwargs_) - else: - return MealsIncludedType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def validate_MealPlanIndicatorType(self, value): - # Validate type MealPlanIndicatorType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanCodesType(self, value): - # Validate type MealPlanCodesType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType'): - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType(self.MealPlanIndicator) # validate type MealPlanIndicatorType - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType(self.MealPlanCodes) # validate type MealPlanCodesType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType - - -class RoomRatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomRate = RoomRate - self.RoomRate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRatesType.subclass: - return RoomRatesType.subclass(*args_, **kwargs_) - else: - return RoomRatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomRate(self): - return self.RoomRate - def set_RoomRate(self, RoomRate): - self.RoomRate = RoomRate - def has__content(self): - if ( - self.RoomRate is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomRate is not None: - namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' - self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomRate': - obj_ = RoomRateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRate = obj_ - obj_.original_tagname_ = 'RoomRate' -# end class RoomRatesType - - -class RoomRateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRateType.subclass: - return RoomRateType.subclass(*args_, **kwargs_) - else: - return RoomRateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Rates is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rates': - obj_ = RatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' -# end class RoomRateType - - -class RatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType.subclass: - return RatesType.subclass(*args_, **kwargs_) - else: - return RatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType - - -class RateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EffectiveDate = _cast(None, EffectiveDate) - self.EffectiveDate_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) - self.ExpireDateExclusiveInd_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - if Base is None: - self.Base = [] - else: - self.Base = Base - self.Base_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType.subclass: - return RateType.subclass(*args_, **kwargs_) - else: - return RateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Base(self): - return self.Base - def set_Base(self, Base): - self.Base = Base - def add_Base(self, value): - self.Base.append(value) - def insert_Base_at(self, index, value): - self.Base.insert(index, value) - def replace_Base_at(self, index, value): - self.Base[index] = value - def get_EffectiveDate(self): - return self.EffectiveDate - def set_EffectiveDate(self, EffectiveDate): - self.EffectiveDate = EffectiveDate - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def get_ExpireDateExclusiveInd(self): - return self.ExpireDateExclusiveInd - def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): - self.ExpireDateExclusiveInd = ExpireDateExclusiveInd - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType(self, value): - # Validate type RateTimeUnitType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Base - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType'): - if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) - if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Base_ in self.Base: - namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' - Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EffectiveDate', node) - if value is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - try: - self.EffectiveDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) - self.validate_def_date(self.EffectiveDate) # validate type def_date - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - try: - self.ExpireDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (ExpireDate): %s' % exp) - self.validate_def_date(self.ExpireDate) # validate type def_date - value = find_attr_value_('ExpireDateExclusiveInd', node) - if value is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - if value in ('true', '1'): - self.ExpireDateExclusiveInd = True - elif value in ('false', '0'): - self.ExpireDateExclusiveInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType(self.RateTimeUnit) # validate type RateTimeUnitType - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Base': - obj_ = BaseType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Base.append(obj_) - obj_.original_tagname_ = 'Base' -# end class RateType - - -class BaseType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseType.subclass: - return BaseType.subclass(*args_, **kwargs_) - else: - return BaseType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseType - - -class GuestCountsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType.subclass: - return GuestCountsType.subclass(*args_, **kwargs_) - else: - return GuestCountsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType - - -class GuestCountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType.subclass: - return GuestCountType.subclass(*args_, **kwargs_) - else: - return GuestCountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType'): - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType - - -class TimeSpanType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.StartDateWindow = StartDateWindow - self.StartDateWindow_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType.subclass: - return TimeSpanType.subclass(*args_, **kwargs_) - else: - return TimeSpanType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StartDateWindow(self): - return self.StartDateWindow - def set_StartDateWindow(self, StartDateWindow): - self.StartDateWindow = StartDateWindow - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_DurationType(self, value): - # Validate type DurationType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType_patterns_, )) - validate_DurationType_patterns_ = [['^(P[0-9]+N)$']] - def has__content(self): - if ( - self.StartDateWindow is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StartDateWindow is not None: - namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' - self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType(self.Duration) # validate type DurationType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StartDateWindow': - obj_ = StartDateWindowType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StartDateWindow = obj_ - obj_.original_tagname_ = 'StartDateWindow' -# end class TimeSpanType - - -class StartDateWindowType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EarliestDate = _cast(None, EarliestDate) - self.EarliestDate_nsprefix_ = None - self.LatestDate = _cast(None, LatestDate) - self.LatestDate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StartDateWindowType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StartDateWindowType.subclass: - return StartDateWindowType.subclass(*args_, **kwargs_) - else: - return StartDateWindowType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EarliestDate(self): - return self.EarliestDate - def set_EarliestDate(self, EarliestDate): - self.EarliestDate = EarliestDate - def get_LatestDate(self): - return self.LatestDate - def set_LatestDate(self, LatestDate): - self.LatestDate = LatestDate - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StartDateWindowType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType'): - if self.EarliestDate is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) - if self.LatestDate is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EarliestDate', node) - if value is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - try: - self.EarliestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EarliestDate): %s' % exp) - self.validate_def_date(self.EarliestDate) # validate type def_date - value = find_attr_value_('LatestDate', node) - if value is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - try: - self.LatestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (LatestDate): %s' % exp) - self.validate_def_date(self.LatestDate) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StartDateWindowType - - -class GuaranteeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteesAccepted = GuaranteesAccepted - self.GuaranteesAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeType.subclass: - return GuaranteeType.subclass(*args_, **kwargs_) - else: - return GuaranteeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteesAccepted(self): - return self.GuaranteesAccepted - def set_GuaranteesAccepted(self, GuaranteesAccepted): - self.GuaranteesAccepted = GuaranteesAccepted - def has__content(self): - if ( - self.GuaranteesAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteesAccepted is not None: - namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' - self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteesAccepted': - obj_ = GuaranteesAcceptedType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteesAccepted = obj_ - obj_.original_tagname_ = 'GuaranteesAccepted' -# end class GuaranteeType - - -class GuaranteesAcceptedType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeAccepted = GuaranteeAccepted - self.GuaranteeAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteesAcceptedType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteesAcceptedType.subclass: - return GuaranteesAcceptedType.subclass(*args_, **kwargs_) - else: - return GuaranteesAcceptedType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteeAccepted(self): - return self.GuaranteeAccepted - def set_GuaranteeAccepted(self, GuaranteeAccepted): - self.GuaranteeAccepted = GuaranteeAccepted - def has__content(self): - if ( - self.GuaranteeAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteeAccepted is not None: - namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' - self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteeAccepted': - obj_ = GuaranteeAcceptedType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteeAccepted = obj_ - obj_.original_tagname_ = 'GuaranteeAccepted' -# end class GuaranteesAcceptedType - - -class GuaranteeAcceptedType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeAcceptedType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeAcceptedType.subclass: - return GuaranteeAcceptedType.subclass(*args_, **kwargs_) - else: - return GuaranteeAcceptedType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class GuaranteeAcceptedType - - -class PaymentCardType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType.subclass: - return PaymentCardType.subclass(*args_, **kwargs_) - else: - return PaymentCardType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType(self, value): - # Validate type CardCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType_patterns_, )) - validate_CardCodeType_patterns_ = [['^([A-Z][A-Z]?)$']] - def validate_ExpireDateType(self, value): - # Validate type ExpireDateType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType_patterns_, )) - validate_ExpireDateType_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType(self.CardCode) # validate type CardCodeType - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType(self.ExpireDate) # validate type ExpireDateType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType - - -class CardNumberType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EncryptedValue = _cast(None, EncryptedValue) - self.EncryptedValue_nsprefix_ = None - self.EncryptionMethod = _cast(None, EncryptionMethod) - self.EncryptionMethod_nsprefix_ = None - self.PlainText = PlainText - self.validate_def_nonempty_string(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType.subclass: - return CardNumberType.subclass(*args_, **kwargs_) - else: - return CardNumberType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_EncryptedValue(self): - return self.EncryptedValue - def set_EncryptedValue(self, EncryptedValue): - self.EncryptedValue = EncryptedValue - def get_EncryptionMethod(self): - return self.EncryptionMethod - def set_EncryptionMethod(self, EncryptionMethod): - self.EncryptionMethod = EncryptionMethod - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType'): - if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) - if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EncryptedValue', node) - if value is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - self.EncryptedValue = value - self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string - value = find_attr_value_('EncryptionMethod', node) - if value is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - self.EncryptionMethod = value - self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.PlainText) -# end class CardNumberType - - -class TotalType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType.subclass: - return TotalType.subclass(*args_, **kwargs_) - else: - return TotalType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType - - -class ServiceRPHsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ServiceRPH is None: - self.ServiceRPH = [] - else: - self.ServiceRPH = ServiceRPH - self.ServiceRPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHsType.subclass: - return ServiceRPHsType.subclass(*args_, **kwargs_) - else: - return ServiceRPHsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def add_ServiceRPH(self, value): - self.ServiceRPH.append(value) - def insert_ServiceRPH_at(self, index, value): - self.ServiceRPH.insert(index, value) - def replace_ServiceRPH_at(self, index, value): - self.ServiceRPH[index] = value - def has__content(self): - if ( - self.ServiceRPH - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ServiceRPH_ in self.ServiceRPH: - namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' - ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceRPH': - obj_ = ServiceRPHType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPH.append(obj_) - obj_.original_tagname_ = 'ServiceRPH' -# end class ServiceRPHsType - - -class ServiceRPHType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RPH = _cast(None, RPH) - self.RPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHType.subclass: - return ServiceRPHType.subclass(*args_, **kwargs_) - else: - return ServiceRPHType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RPH(self): - return self.RPH - def set_RPH(self, RPH): - self.RPH = RPH - def validate_RPHType(self, value): - # Validate type RPHType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RPHType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType_patterns_, )) - validate_RPHType_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType'): - if self.RPH is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RPH', node) - if value is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - self.RPH = value - self.validate_RPHType(self.RPH) # validate type RPHType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ServiceRPHType - - -class ServicesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType.subclass: - return ServicesType.subclass(*args_, **kwargs_) - else: - return ServicesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType - - -class ServiceType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) - self.ServiceCategoryCode_nsprefix_ = None - self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) - self.ServiceInventoryCode_nsprefix_ = None - self.ServiceRPH = _cast(None, ServiceRPH) - self.ServiceRPH_nsprefix_ = None - self.ServicePricingType = _cast(None, ServicePricingType) - self.ServicePricingType_nsprefix_ = None - self.Inclusive = _cast(bool, Inclusive) - self.Inclusive_nsprefix_ = None - self.Quantity = _cast(int, Quantity) - self.Quantity_nsprefix_ = None - self.ServiceDetails = ServiceDetails - self.ServiceDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType.subclass: - return ServiceType.subclass(*args_, **kwargs_) - else: - return ServiceType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceDetails(self): - return self.ServiceDetails - def set_ServiceDetails(self, ServiceDetails): - self.ServiceDetails = ServiceDetails - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ServiceCategoryCode(self): - return self.ServiceCategoryCode - def set_ServiceCategoryCode(self, ServiceCategoryCode): - self.ServiceCategoryCode = ServiceCategoryCode - def get_ServiceInventoryCode(self): - return self.ServiceInventoryCode - def set_ServiceInventoryCode(self, ServiceInventoryCode): - self.ServiceInventoryCode = ServiceInventoryCode - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def get_ServicePricingType(self): - return self.ServicePricingType - def set_ServicePricingType(self, ServicePricingType): - self.ServicePricingType = ServicePricingType - def get_Inclusive(self): - return self.Inclusive - def set_Inclusive(self, Inclusive): - self.Inclusive = Inclusive - def get_Quantity(self): - return self.Quantity - def set_Quantity(self, Quantity): - self.Quantity = Quantity - def validate_def_one_to_thirty_two_chars_string(self, value): - # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType28(self, value): - # Validate type TypeType28, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType28' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceCategoryCodeType(self, value): - # Validate type ServiceCategoryCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceRPHType29(self, value): - # Validate type ServiceRPHType29, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ServiceRPHType29_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType29_patterns_, )) - validate_ServiceRPHType29_patterns_ = [['^([0-9]{1,8})$']] - def validate_ServicePricingTypeType(self, value): - # Validate type ServicePricingTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ServiceDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) - if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) - if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) - if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) - if self.Inclusive is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) - if self.Quantity is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ServiceDetails is not None: - namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' - self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType28(self.Type) # validate type TypeType28 - value = find_attr_value_('ServiceCategoryCode', node) - if value is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - self.ServiceCategoryCode = value - self.validate_ServiceCategoryCodeType(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType - value = find_attr_value_('ServiceInventoryCode', node) - if value is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - self.ServiceInventoryCode = value - self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('ServiceRPH', node) - if value is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - self.ServiceRPH = value - self.validate_ServiceRPHType29(self.ServiceRPH) # validate type ServiceRPHType29 - value = find_attr_value_('ServicePricingType', node) - if value is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - self.ServicePricingType = value - self.validate_ServicePricingTypeType(self.ServicePricingType) # validate type ServicePricingTypeType - value = find_attr_value_('Inclusive', node) - if value is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - if value in ('true', '1'): - self.Inclusive = True - elif value in ('false', '0'): - self.Inclusive = False - else: - raise_parse_error(node, 'Bad boolean attribute') - value = find_attr_value_('Quantity', node) - if value is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - self.Quantity = self.gds_parse_integer(value, node, 'Quantity') - if self.Quantity <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceDetails': - obj_ = ServiceDetailsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDetails = obj_ - obj_.original_tagname_ = 'ServiceDetails' -# end class ServiceType - - -class ServiceDetailsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceDescription = ServiceDescription - self.ServiceDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDetailsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDetailsType.subclass: - return ServiceDetailsType.subclass(*args_, **kwargs_) - else: - return ServiceDetailsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceDescription(self): - return self.ServiceDescription - def set_ServiceDescription(self, ServiceDescription): - self.ServiceDescription = ServiceDescription - def has__content(self): - if ( - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Comments is not None or - self.Total is not None or - self.ServiceDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDetailsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceDescription is not None: - namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' - self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCounts': - obj_ = GuestCountsType19.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType21.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Comments': - obj_ = CommentsType22.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'Total': - obj_ = TotalType25.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceDescription': - obj_ = ServiceDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDescription = obj_ - obj_.original_tagname_ = 'ServiceDescription' -# end class ServiceDetailsType - - -class GuestCountsType19(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType19) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType19.subclass: - return GuestCountsType19.subclass(*args_, **kwargs_) - else: - return GuestCountsType19(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType19', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType19') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType19': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType19') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType19', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType19'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType19', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType20.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType19 - - -class GuestCountType20(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType20) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType20.subclass: - return GuestCountType20.subclass(*args_, **kwargs_) - else: - return GuestCountType20(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType20', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType20') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType20': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType20') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType20', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType20'): - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType20', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType20 - - -class TimeSpanType21(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType21) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType21.subclass: - return TimeSpanType21.subclass(*args_, **kwargs_) - else: - return TimeSpanType21(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType21', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType21') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType21': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType21') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType21', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType21'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType21', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (End): %s' % exp) - self.validate_def_datetime(self.End) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TimeSpanType21 - - -class CommentsType22(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType22) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType22.subclass: - return CommentsType22.subclass(*args_, **kwargs_) - else: - return CommentsType22(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def has__content(self): - if ( - self.Comment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType22', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType22') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType22': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType22') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType22', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType22'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType22', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comment is not None: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType23.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment = obj_ - obj_.original_tagname_ = 'Comment' -# end class CommentsType22 - - -class CommentType23(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType23) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType23.subclass: - return CommentType23.subclass(*args_, **kwargs_) - else: - return CommentType23(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType23', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType23') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType23': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType23') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType23', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType23'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType23', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType24.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class CommentType23 - - -class TextType24(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType24) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType24.subclass: - return TextType24.subclass(*args_, **kwargs_) - else: - return TextType24(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType(self, value): - # Validate type TextFormatType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType24', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType24') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType24': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType24') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType24'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType24', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType(self.TextFormat) # validate type TextFormatType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType24 - - -class TotalType25(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType25) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType25.subclass: - return TotalType25.subclass(*args_, **kwargs_) - else: - return TotalType25(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType25', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType25') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType25': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType25') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType25', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType25'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType25', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType25 - - -class ServiceDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDescriptionType.subclass: - return ServiceDescriptionType.subclass(*args_, **kwargs_) - else: - return ServiceDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType26.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class ServiceDescriptionType - - -class TextType26(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType26) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType26.subclass: - return TextType26.subclass(*args_, **kwargs_) - else: - return TextType26(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType27(self, value): - # Validate type TextFormatType27, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType27' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType26', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType26') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType26': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType26') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType26'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType26', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType27(self.TextFormat) # validate type TextFormatType27 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType26 - - -class ResGuestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResGuest = ResGuest - self.ResGuest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestsType.subclass: - return ResGuestsType.subclass(*args_, **kwargs_) - else: - return ResGuestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResGuest(self): - return self.ResGuest - def set_ResGuest(self, ResGuest): - self.ResGuest = ResGuest - def has__content(self): - if ( - self.ResGuest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ResGuest is not None: - namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' - self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ResGuest': - obj_ = ResGuestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuest = obj_ - obj_.original_tagname_ = 'ResGuest' -# end class ResGuestsType - - -class ResGuestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestType.subclass: - return ResGuestType.subclass(*args_, **kwargs_) - else: - return ResGuestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def has__content(self): - if ( - self.Profiles is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profiles': - obj_ = ProfilesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' -# end class ResGuestType - - -class ProfilesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType.subclass: - return ProfilesType.subclass(*args_, **kwargs_) - else: - return ProfilesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType - - -class ProfileInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType.subclass: - return ProfileInfoType.subclass(*args_, **kwargs_) - else: - return ProfileInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType - - -class ProfileType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Customer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Customer = Customer - self.Customer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType.subclass: - return ProfileType.subclass(*args_, **kwargs_) - else: - return ProfileType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Customer(self): - return self.Customer - def set_Customer(self, Customer): - self.Customer = Customer - def has__content(self): - if ( - self.Customer is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Customer is not None: - namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' - self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Customer': - obj_ = CustomerType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Customer = obj_ - obj_.original_tagname_ = 'Customer' -# end class ProfileType - - -class CustomerType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Gender = _cast(None, Gender) - self.Gender_nsprefix_ = None - self.BirthDate = _cast(None, BirthDate) - self.BirthDate_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - if Telephone is None: - self.Telephone = [] - else: - self.Telephone = Telephone - self.Telephone_nsprefix_ = None - self.Email = Email - self.Email_nsprefix_ = None - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerType.subclass: - return CustomerType.subclass(*args_, **kwargs_) - else: - return CustomerType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_Telephone(self): - return self.Telephone - def set_Telephone(self, Telephone): - self.Telephone = Telephone - def add_Telephone(self, value): - self.Telephone.append(value) - def insert_Telephone_at(self, index, value): - self.Telephone.insert(index, value) - def replace_Telephone_at(self, index, value): - self.Telephone[index] = value - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def get_Gender(self): - return self.Gender - def set_Gender(self, Gender): - self.Gender = Gender - def get_BirthDate(self): - return self.BirthDate - def set_BirthDate(self, BirthDate): - self.BirthDate = BirthDate - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_GenderType(self, value): - # Validate type GenderType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_GenderType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType_patterns_, )) - validate_GenderType_patterns_ = [['^((Unknown|Male|Female))$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_LanguageType32(self, value): - # Validate type LanguageType32, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType32_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType32_patterns_, )) - validate_LanguageType32_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.PersonName is not None or - self.Telephone or - self.Email is not None or - self.Address is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType'): - if self.Gender is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) - if self.BirthDate is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - for Telephone_ in self.Telephone: - namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' - Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - if self.Address is not None: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Gender', node) - if value is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - self.Gender = value - self.validate_GenderType(self.Gender) # validate type GenderType - value = find_attr_value_('BirthDate', node) - if value is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - try: - self.BirthDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (BirthDate): %s' % exp) - self.validate_def_date(self.BirthDate) # validate type def_date - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType32(self.Language) # validate type LanguageType32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType30.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'Telephone': - obj_ = TelephoneType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Telephone.append(obj_) - obj_.original_tagname_ = 'Telephone' - elif nodeName_ == 'Email': - obj_ = EmailType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email = obj_ - obj_.original_tagname_ = 'Email' - elif nodeName_ == 'Address': - obj_ = AddressType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address = obj_ - obj_.original_tagname_ = 'Address' -# end class CustomerType - - -class PersonNameType30(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NamePrefix = NamePrefix - self.validate_StringLength1to16(self.NamePrefix) - self.NamePrefix_nsprefix_ = None - self.GivenName = GivenName - self.validate_StringLength1to64(self.GivenName) - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.validate_StringLength1to64(self.Surname) - self.Surname_nsprefix_ = None - self.NameTitle = NameTitle - self.validate_StringLength1to16(self.NameTitle) - self.NameTitle_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType30) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType30.subclass: - return PersonNameType30.subclass(*args_, **kwargs_) - else: - return PersonNameType30(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NamePrefix(self): - return self.NamePrefix - def set_NamePrefix(self, NamePrefix): - self.NamePrefix = NamePrefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def get_NameTitle(self): - return self.NameTitle - def set_NameTitle(self, NameTitle): - self.NameTitle = NameTitle - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.NamePrefix is not None or - self.GivenName is not None or - self.Surname is not None or - self.NameTitle is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType30', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType30') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType30': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType30') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType30', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType30'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType30', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.NamePrefix is not None: - namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) - if self.NameTitle is not None: - namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'NamePrefix': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NamePrefix') - value_ = self.gds_validate_string(value_, node, 'NamePrefix') - self.NamePrefix = value_ - self.NamePrefix_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NamePrefix) - elif nodeName_ == 'GivenName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'GivenName') - value_ = self.gds_validate_string(value_, node, 'GivenName') - self.GivenName = value_ - self.GivenName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.GivenName) - elif nodeName_ == 'Surname': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Surname') - value_ = self.gds_validate_string(value_, node, 'Surname') - self.Surname = value_ - self.Surname_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.Surname) - elif nodeName_ == 'NameTitle': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NameTitle') - value_ = self.gds_validate_string(value_, node, 'NameTitle') - self.NameTitle = value_ - self.NameTitle_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NameTitle) -# end class PersonNameType30 - - -class TelephoneType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneType.subclass: - return TelephoneType.subclass(*args_, **kwargs_) - else: - return TelephoneType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType(self, value): - # Validate type PhoneTechTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType_patterns_, )) - validate_PhoneTechTypeType_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType(self, value): - # Validate type PhoneNumberType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType_patterns_, )) - validate_PhoneNumberType_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType(self.PhoneTechType) # validate type PhoneTechTypeType - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType(self.PhoneNumber) # validate type PhoneNumberType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneType - - -class EmailType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType.subclass: - return EmailType.subclass(*args_, **kwargs_) - else: - return EmailType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_email_string(self, value): - result = True - # Validate type def_email_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_email_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) - result = False - return result - validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] - def validate_RemarkType(self, value): - # Validate type RemarkType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType_patterns_, )) - validate_RemarkType_patterns_ = [['^(newsletter:(no|yes))$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType(self.Remark) # validate type RemarkType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType - - -class AddressType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType.subclass: - return AddressType.subclass(*args_, **kwargs_) - else: - return AddressType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_RemarkType31(self, value): - # Validate type RemarkType31, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType31_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType31_patterns_, )) - validate_RemarkType31_patterns_ = [['^(catalog:(no|yes))$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType31(self.Remark) # validate type RemarkType31 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType - - -class CountryNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType.subclass: - return CountryNameType.subclass(*args_, **kwargs_) - else: - return CountryNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType(self, value): - # Validate type CodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType_patterns_, )) - validate_CodeType_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType(self.Code) # validate type CodeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType - - -class ResGlobalInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.SpecialRequests = SpecialRequests - self.SpecialRequests_nsprefix_ = None - self.DepositPayments = DepositPayments - self.DepositPayments_nsprefix_ = None - self.CancelPenalties = CancelPenalties - self.CancelPenalties_nsprefix_ = None - self.HotelReservationIDs = HotelReservationIDs - self.HotelReservationIDs_nsprefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - self.BasicPropertyInfo = BasicPropertyInfo - self.BasicPropertyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGlobalInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGlobalInfoType.subclass: - return ResGlobalInfoType.subclass(*args_, **kwargs_) - else: - return ResGlobalInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_SpecialRequests(self): - return self.SpecialRequests - def set_SpecialRequests(self, SpecialRequests): - self.SpecialRequests = SpecialRequests - def get_DepositPayments(self): - return self.DepositPayments - def set_DepositPayments(self, DepositPayments): - self.DepositPayments = DepositPayments - def get_CancelPenalties(self): - return self.CancelPenalties - def set_CancelPenalties(self, CancelPenalties): - self.CancelPenalties = CancelPenalties - def get_HotelReservationIDs(self): - return self.HotelReservationIDs - def set_HotelReservationIDs(self, HotelReservationIDs): - self.HotelReservationIDs = HotelReservationIDs - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def get_BasicPropertyInfo(self): - return self.BasicPropertyInfo - def set_BasicPropertyInfo(self, BasicPropertyInfo): - self.BasicPropertyInfo = BasicPropertyInfo - def has__content(self): - if ( - self.Comments is not None or - self.SpecialRequests is not None or - self.DepositPayments is not None or - self.CancelPenalties is not None or - self.HotelReservationIDs is not None or - self.Profiles is not None or - self.BasicPropertyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.SpecialRequests is not None: - namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' - self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) - if self.DepositPayments is not None: - namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' - self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) - if self.CancelPenalties is not None: - namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' - self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) - if self.HotelReservationIDs is not None: - namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' - self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - if self.BasicPropertyInfo is not None: - namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' - self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comments': - obj_ = CommentsType33.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'SpecialRequests': - obj_ = SpecialRequestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequests = obj_ - obj_.original_tagname_ = 'SpecialRequests' - elif nodeName_ == 'DepositPayments': - obj_ = DepositPaymentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepositPayments = obj_ - obj_.original_tagname_ = 'DepositPayments' - elif nodeName_ == 'CancelPenalties': - obj_ = CancelPenaltiesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalties = obj_ - obj_.original_tagname_ = 'CancelPenalties' - elif nodeName_ == 'HotelReservationIDs': - obj_ = HotelReservationIDsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationIDs = obj_ - obj_.original_tagname_ = 'HotelReservationIDs' - elif nodeName_ == 'Profiles': - obj_ = ProfilesType44.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' - elif nodeName_ == 'BasicPropertyInfo': - obj_ = BasicPropertyInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BasicPropertyInfo = obj_ - obj_.original_tagname_ = 'BasicPropertyInfo' -# end class ResGlobalInfoType - - -class CommentsType33(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType33) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType33.subclass: - return CommentsType33.subclass(*args_, **kwargs_) - else: - return CommentsType33(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType33', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType33') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType33': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType33') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType33', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType33'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType33', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType34.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType33 - - -class CommentType34(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType34) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType34.subclass: - return CommentType34.subclass(*args_, **kwargs_) - else: - return CommentType34(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_NameType36(self, value): - # Validate type NameType36, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services', 'customer comment', 'additional info'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType36' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType34', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType34') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType34': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType34') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType34', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType34'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType34', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType36(self.Name) # validate type NameType36 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' - elif nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class CommentType34 - - -class ListItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType.subclass: - return ListItemType.subclass(*args_, **kwargs_) - else: - return ListItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType35(self, value): - # Validate type LanguageType35, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType35_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType35_patterns_, )) - validate_LanguageType35_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType35(self.Language) # validate type LanguageType35 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType - - -class SpecialRequestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if SpecialRequest is None: - self.SpecialRequest = [] - else: - self.SpecialRequest = SpecialRequest - self.SpecialRequest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestsType.subclass: - return SpecialRequestsType.subclass(*args_, **kwargs_) - else: - return SpecialRequestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_SpecialRequest(self): - return self.SpecialRequest - def set_SpecialRequest(self, SpecialRequest): - self.SpecialRequest = SpecialRequest - def add_SpecialRequest(self, value): - self.SpecialRequest.append(value) - def insert_SpecialRequest_at(self, index, value): - self.SpecialRequest.insert(index, value) - def replace_SpecialRequest_at(self, index, value): - self.SpecialRequest[index] = value - def has__content(self): - if ( - self.SpecialRequest - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for SpecialRequest_ in self.SpecialRequest: - namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' - SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'SpecialRequest': - obj_ = SpecialRequestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequest.append(obj_) - obj_.original_tagname_ = 'SpecialRequest' -# end class SpecialRequestsType - - -class SpecialRequestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RequestCode = _cast(None, RequestCode) - self.RequestCode_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestType.subclass: - return SpecialRequestType.subclass(*args_, **kwargs_) - else: - return SpecialRequestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_RequestCode(self): - return self.RequestCode - def set_RequestCode(self, RequestCode): - self.RequestCode = RequestCode - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_CodeContextType(self, value): - # Validate type CodeContextType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS', 'HOTEL'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType'): - if self.RequestCode is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RequestCode', node) - if value is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - self.RequestCode = value - self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType(self.CodeContext) # validate type CodeContextType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType37.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class SpecialRequestType - - -class TextType37(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType37) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType37.subclass: - return TextType37.subclass(*args_, **kwargs_) - else: - return TextType37(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TextFormatType38(self, value): - # Validate type TextFormatType38, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType38' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType37', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType37') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType37': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType37') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType37'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType37', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType38(self.TextFormat) # validate type TextFormatType38 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType37 - - -class DepositPaymentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuaranteePayment is None: - self.GuaranteePayment = [] - else: - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepositPaymentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepositPaymentsType.subclass: - return DepositPaymentsType.subclass(*args_, **kwargs_) - else: - return DepositPaymentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def add_GuaranteePayment(self, value): - self.GuaranteePayment.append(value) - def insert_GuaranteePayment_at(self, index, value): - self.GuaranteePayment.insert(index, value) - def replace_GuaranteePayment_at(self, index, value): - self.GuaranteePayment[index] = value - def has__content(self): - if ( - self.GuaranteePayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepositPaymentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuaranteePayment_ in self.GuaranteePayment: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment.append(obj_) - obj_.original_tagname_ = 'GuaranteePayment' -# end class DepositPaymentsType - - -class GuaranteePaymentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.GuaranteeCode = _cast(None, GuaranteeCode) - self.GuaranteeCode_nsprefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType.subclass: - return GuaranteePaymentType.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_GuaranteeCode(self): - return self.GuaranteeCode - def set_GuaranteeCode(self, GuaranteeCode): - self.GuaranteeCode = GuaranteeCode - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - value = find_attr_value_('GuaranteeCode', node) - if value is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - self.GuaranteeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' -# end class GuaranteePaymentType - - -class AcceptedPaymentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType.subclass: - return AcceptedPaymentsType.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def has__content(self): - if ( - self.AcceptedPayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayment is not None: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment = obj_ - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType - - -class AcceptedPaymentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) - self.GuaranteeTypeCode_nsprefix_ = None - self.GuaranteeID = _cast(None, GuaranteeID) - self.GuaranteeID_nsprefix_ = None - self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) - self.PaymentTransactionTypeCode_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Voucher = Voucher - self.Voucher_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType.subclass: - return AcceptedPaymentType.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Voucher(self): - return self.Voucher - def set_Voucher(self, Voucher): - self.Voucher = Voucher - def get_GuaranteeTypeCode(self): - return self.GuaranteeTypeCode - def set_GuaranteeTypeCode(self, GuaranteeTypeCode): - self.GuaranteeTypeCode = GuaranteeTypeCode - def get_GuaranteeID(self): - return self.GuaranteeID - def set_GuaranteeID(self, GuaranteeID): - self.GuaranteeID = GuaranteeID - def get_PaymentTransactionTypeCode(self): - return self.PaymentTransactionTypeCode - def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): - self.PaymentTransactionTypeCode = PaymentTransactionTypeCode - def has__content(self): - if ( - self.PaymentCard is not None or - self.BankAcct is not None or - self.Voucher is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType'): - if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) - if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) - if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Voucher is not None: - namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' - self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('GuaranteeTypeCode', node) - if value is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - self.GuaranteeTypeCode = value - value = find_attr_value_('GuaranteeID', node) - if value is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - self.GuaranteeID = value - value = find_attr_value_('PaymentTransactionTypeCode', node) - if value is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - self.PaymentTransactionTypeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType39.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' - elif nodeName_ == 'BankAcct': - obj_ = BankAcctType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Voucher': - obj_ = VoucherType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Voucher = obj_ - obj_.original_tagname_ = 'Voucher' -# end class AcceptedPaymentType - - -class PaymentCardType39(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType39) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType39.subclass: - return PaymentCardType39.subclass(*args_, **kwargs_) - else: - return PaymentCardType39(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType41(self, value): - # Validate type CardCodeType41, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType41_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType41_patterns_, )) - validate_CardCodeType41_patterns_ = [['^([A-Z]{1,2})$']] - def validate_ExpireDateType42(self, value): - # Validate type ExpireDateType42, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType42_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType42_patterns_, )) - validate_ExpireDateType42_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType39', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType39') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType39': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType39') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType39', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType39'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType39', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType41(self.CardCode) # validate type CardCodeType41 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType42(self.ExpireDate) # validate type ExpireDateType42 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType40.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType39 - - -class CardNumberType40(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.Token = _cast(None, Token) - self.Token_nsprefix_ = None - self.TokenProviderID = _cast(None, TokenProviderID) - self.TokenProviderID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType40) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType40.subclass: - return CardNumberType40.subclass(*args_, **kwargs_) - else: - return CardNumberType40(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def get_Token(self): - return self.Token - def set_Token(self, Token): - self.Token = Token - def get_TokenProviderID(self): - return self.TokenProviderID - def set_TokenProviderID(self, TokenProviderID): - self.TokenProviderID = TokenProviderID - def validate_MaskType(self, value): - # Validate type MaskType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType_patterns_, )) - validate_MaskType_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_TokenType(self, value): - # Validate type TokenType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_TokenType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType_patterns_, )) - validate_TokenType_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType40', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType40') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType40': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType40') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType40', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType40'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - if self.Token is not None and 'Token' not in already_processed: - already_processed.add('Token') - outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) - if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType40', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType(self.Mask) # validate type MaskType - value = find_attr_value_('Token', node) - if value is not None and 'Token' not in already_processed: - already_processed.add('Token') - self.Token = value - self.validate_TokenType(self.Token) # validate type TokenType - value = find_attr_value_('TokenProviderID', node) - if value is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - self.TokenProviderID = value - self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardNumberType40 - - -class BankAcctType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.validate_StringLength1to64(self.BankAcctName) - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType.subclass: - return BankAcctType.subclass(*args_, **kwargs_) - else: - return BankAcctType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'BankAcctName') - value_ = self.gds_validate_string(value_, node, 'BankAcctName') - self.BankAcctName = value_ - self.BankAcctName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.BankAcctName) - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' -# end class BankAcctType - - -class BankAcctNumberType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.PlainText = PlainText - self.validate_NumericStringLength1to19(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType.subclass: - return BankAcctNumberType.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def validate_MaskType43(self, value): - # Validate type MaskType43, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType43_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType43_patterns_, )) - validate_MaskType43_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType43(self.Mask) # validate type MaskType43 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type NumericStringLength1to19 - self.validate_NumericStringLength1to19(self.PlainText) -# end class BankAcctNumberType - - -class VoucherType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ElectronicIndicator = _cast(bool, ElectronicIndicator) - self.ElectronicIndicator_nsprefix_ = None - self.Identifier = _cast(None, Identifier) - self.Identifier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VoucherType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VoucherType.subclass: - return VoucherType.subclass(*args_, **kwargs_) - else: - return VoucherType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ElectronicIndicator(self): - return self.ElectronicIndicator - def set_ElectronicIndicator(self, ElectronicIndicator): - self.ElectronicIndicator = ElectronicIndicator - def get_Identifier(self): - return self.Identifier - def set_Identifier(self, Identifier): - self.Identifier = Identifier - def validate_ElectronicIndicatorType(self, value): - # Validate type ElectronicIndicatorType, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_ElectronicIndicatorType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType_patterns_, )) - validate_ElectronicIndicatorType_patterns_ = [['^(1|true)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VoucherType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType'): - if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) - if self.Identifier is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ElectronicIndicator', node) - if value is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - if value in ('true', '1'): - self.ElectronicIndicator = True - elif value in ('false', '0'): - self.ElectronicIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_ElectronicIndicatorType(self.ElectronicIndicator) # validate type ElectronicIndicatorType - value = find_attr_value_('Identifier', node) - if value is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - self.Identifier = value - self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class VoucherType - - -class AmountPercentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType.subclass: - return AmountPercentType.subclass(*args_, **kwargs_) - else: - return AmountPercentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType - - -class CancelPenaltiesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltiesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltiesType.subclass: - return CancelPenaltiesType.subclass(*args_, **kwargs_) - else: - return CancelPenaltiesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPenaltiesType - - -class CancelPenaltyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType.subclass: - return CancelPenaltyType.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType - - -class PenaltyDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType.subclass: - return PenaltyDescriptionType.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class PenaltyDescriptionType - - -class HotelReservationIDsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservationID is None: - self.HotelReservationID = [] - else: - self.HotelReservationID = HotelReservationID - self.HotelReservationID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDsType.subclass: - return HotelReservationIDsType.subclass(*args_, **kwargs_) - else: - return HotelReservationIDsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservationID(self): - return self.HotelReservationID - def set_HotelReservationID(self, HotelReservationID): - self.HotelReservationID = HotelReservationID - def add_HotelReservationID(self, value): - self.HotelReservationID.append(value) - def insert_HotelReservationID_at(self, index, value): - self.HotelReservationID.insert(index, value) - def replace_HotelReservationID_at(self, index, value): - self.HotelReservationID[index] = value - def has__content(self): - if ( - self.HotelReservationID - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservationID_ in self.HotelReservationID: - namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' - HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservationID': - obj_ = HotelReservationIDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationID.append(obj_) - obj_.original_tagname_ = 'HotelReservationID' -# end class HotelReservationIDsType - - -class HotelReservationIDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResID_Type = _cast(int, ResID_Type) - self.ResID_Type_nsprefix_ = None - self.ResID_Value = _cast(None, ResID_Value) - self.ResID_Value_nsprefix_ = None - self.ResID_Source = _cast(None, ResID_Source) - self.ResID_Source_nsprefix_ = None - self.ResID_SourceContext = _cast(None, ResID_SourceContext) - self.ResID_SourceContext_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDType.subclass: - return HotelReservationIDType.subclass(*args_, **kwargs_) - else: - return HotelReservationIDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResID_Type(self): - return self.ResID_Type - def set_ResID_Type(self, ResID_Type): - self.ResID_Type = ResID_Type - def get_ResID_Value(self): - return self.ResID_Value - def set_ResID_Value(self, ResID_Value): - self.ResID_Value = ResID_Value - def get_ResID_Source(self): - return self.ResID_Source - def set_ResID_Source(self, ResID_Source): - self.ResID_Source = ResID_Source - def get_ResID_SourceContext(self): - return self.ResID_SourceContext - def set_ResID_SourceContext(self, ResID_SourceContext): - self.ResID_SourceContext = ResID_SourceContext - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType'): - if self.ResID_Type is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) - if self.ResID_Value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) - if self.ResID_Source is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) - if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ResID_Type', node) - if value is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') - if self.ResID_Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 - value = find_attr_value_('ResID_Value', node) - if value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - self.ResID_Value = value - self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 - value = find_attr_value_('ResID_Source', node) - if value is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - self.ResID_Source = value - self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 - value = find_attr_value_('ResID_SourceContext', node) - if value is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - self.ResID_SourceContext = value - self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelReservationIDType - - -class ProfilesType44(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType44) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType44.subclass: - return ProfilesType44.subclass(*args_, **kwargs_) - else: - return ProfilesType44(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType44', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType44') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType44': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType44') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType44', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType44'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType44', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType45.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType44 - - -class ProfileInfoType45(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType45) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType45.subclass: - return ProfileInfoType45.subclass(*args_, **kwargs_) - else: - return ProfileInfoType45(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType45', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType45') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType45': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType45') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType45', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType45'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType45', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType46.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType45 - - -class ProfileType46(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileType = _cast(None, ProfileType) - self.ProfileType_nsprefix_ = None - self.CompanyInfo = CompanyInfo - self.CompanyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType46) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType46.subclass: - return ProfileType46.subclass(*args_, **kwargs_) - else: - return ProfileType46(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyInfo(self): - return self.CompanyInfo - def set_CompanyInfo(self, CompanyInfo): - self.CompanyInfo = CompanyInfo - def get_ProfileType(self): - return self.ProfileType - def set_ProfileType(self, ProfileType): - self.ProfileType = ProfileType - def validate_ProfileTypeType(self, value): - # Validate type ProfileTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['4'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CompanyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType46', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType46') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType46': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType46') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType46', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType46'): - if self.ProfileType is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType46', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyInfo is not None: - namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' - self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ProfileType', node) - if value is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - self.ProfileType = value - self.validate_ProfileTypeType(self.ProfileType) # validate type ProfileTypeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyInfo': - obj_ = CompanyInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyInfo = obj_ - obj_.original_tagname_ = 'CompanyInfo' -# end class ProfileType46 - - -class CompanyInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - self.AddressInfo = AddressInfo - self.AddressInfo_nsprefix_ = None - self.TelephoneInfo = TelephoneInfo - self.TelephoneInfo_nsprefix_ = None - self.Email = Email - self.validate_def_nonempty_string(self.Email) - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyInfoType.subclass: - return CompanyInfoType.subclass(*args_, **kwargs_) - else: - return CompanyInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_AddressInfo(self): - return self.AddressInfo - def set_AddressInfo(self, AddressInfo): - self.AddressInfo = AddressInfo - def get_TelephoneInfo(self): - return self.TelephoneInfo - def set_TelephoneInfo(self, TelephoneInfo): - self.TelephoneInfo = TelephoneInfo - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.CompanyName is not None or - self.AddressInfo is not None or - self.TelephoneInfo is not None or - self.Email is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - if self.AddressInfo is not None: - namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' - self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) - if self.TelephoneInfo is not None: - namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' - self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyName': - obj_ = CompanyNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' - elif nodeName_ == 'AddressInfo': - obj_ = AddressInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AddressInfo = obj_ - obj_.original_tagname_ = 'AddressInfo' - elif nodeName_ == 'TelephoneInfo': - obj_ = TelephoneInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TelephoneInfo = obj_ - obj_.original_tagname_ = 'TelephoneInfo' - elif nodeName_ == 'Email': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Email') - value_ = self.gds_validate_string(value_, node, 'Email') - self.Email = value_ - self.Email_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Email) -# end class CompanyInfoType - - -class CompanyNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType.subclass: - return CompanyNameType.subclass(*args_, **kwargs_) - else: - return CompanyNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType - - -class AddressInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressInfoType.subclass: - return AddressInfoType.subclass(*args_, **kwargs_) - else: - return AddressInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType47.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressInfoType - - -class CountryNameType47(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType47) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType47.subclass: - return CountryNameType47.subclass(*args_, **kwargs_) - else: - return CountryNameType47(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType48(self, value): - # Validate type CodeType48, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType48_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType48_patterns_, )) - validate_CodeType48_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType47', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType47') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType47': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType47') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType47', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType47'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType47', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType48(self.Code) # validate type CodeType48 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType47 - - -class TelephoneInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneInfoType.subclass: - return TelephoneInfoType.subclass(*args_, **kwargs_) - else: - return TelephoneInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType49(self, value): - # Validate type PhoneTechTypeType49, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType49_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType49_patterns_, )) - validate_PhoneTechTypeType49_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType50(self, value): - # Validate type PhoneNumberType50, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType50_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType50_patterns_, )) - validate_PhoneNumberType50_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType49(self.PhoneTechType) # validate type PhoneTechTypeType49 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType50(self.PhoneNumber) # validate type PhoneNumberType50 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneInfoType - - -class BasicPropertyInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BasicPropertyInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BasicPropertyInfoType.subclass: - return BasicPropertyInfoType.subclass(*args_, **kwargs_) - else: - return BasicPropertyInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BasicPropertyInfoType - - -class ErrorsType51(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType51) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType51.subclass: - return ErrorsType51.subclass(*args_, **kwargs_) - else: - return ErrorsType51(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType51', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType51') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType51': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType51') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType51', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType51'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType51', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType52.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType51 - - -class ErrorType52(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType52) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType52.subclass: - return ErrorType52.subclass(*args_, **kwargs_) - else: - return ErrorType52(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType53(self, value): - # Validate type TypeType53, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType53' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType52', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType52') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType52': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType52') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType52'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType52', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType53(self.Type) # validate type TypeType53 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType52 - - -class WarningsType54(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType54) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType54.subclass: - return WarningsType54.subclass(*args_, **kwargs_) - else: - return WarningsType54(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType54', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType54') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType54': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType54') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType54', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType54'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType54', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType55.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType54 - - -class WarningType55(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType55) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType55.subclass: - return WarningType55.subclass(*args_, **kwargs_) - else: - return WarningType55(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType55', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType55') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType55': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType55') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType55'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType55', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType55 - - -class HotelReservationsType56(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservation is None: - self.HotelReservation = [] - else: - self.HotelReservation = HotelReservation - self.HotelReservation_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationsType56) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationsType56.subclass: - return HotelReservationsType56.subclass(*args_, **kwargs_) - else: - return HotelReservationsType56(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservation(self): - return self.HotelReservation - def set_HotelReservation(self, HotelReservation): - self.HotelReservation = HotelReservation - def add_HotelReservation(self, value): - self.HotelReservation.append(value) - def insert_HotelReservation_at(self, index, value): - self.HotelReservation.insert(index, value) - def replace_HotelReservation_at(self, index, value): - self.HotelReservation[index] = value - def has__content(self): - if ( - self.HotelReservation - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType56', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType56') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationsType56': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType56') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType56', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType56'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType56', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservation_ in self.HotelReservation: - namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' - HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservation': - obj_ = HotelReservationType57.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservation.append(obj_) - obj_.original_tagname_ = 'HotelReservation' -# end class HotelReservationsType56 - - -class HotelReservationType57(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, UniqueID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType57) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType57.subclass: - return HotelReservationType57.subclass(*args_, **kwargs_) - else: - return HotelReservationType57(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def has__content(self): - if ( - self.UniqueID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType57', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType57') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType57': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType57') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType57', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType57'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType57', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType58.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' -# end class HotelReservationType57 - - -class UniqueIDType58(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType58) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType58.subclass: - return UniqueIDType58.subclass(*args_, **kwargs_) - else: - return UniqueIDType58(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType59(self, value): - # Validate type TypeType59, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType59' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType58', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType58') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType58': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType58') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType58', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType58'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType58', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType59(self.Type) # validate type TypeType59 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType58 - - -class ReadRequestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReadRequest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelReadRequest = HotelReadRequest - self.HotelReadRequest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ReadRequestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ReadRequestsType.subclass: - return ReadRequestsType.subclass(*args_, **kwargs_) - else: - return ReadRequestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReadRequest(self): - return self.HotelReadRequest - def set_HotelReadRequest(self, HotelReadRequest): - self.HotelReadRequest = HotelReadRequest - def has__content(self): - if ( - self.HotelReadRequest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReadRequestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReadRequestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ReadRequestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReadRequestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReadRequestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReadRequestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReadRequestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelReadRequest is not None: - namespaceprefix_ = self.HotelReadRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReadRequest_nsprefix_) else '' - self.HotelReadRequest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReadRequest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReadRequest': - obj_ = HotelReadRequestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReadRequest = obj_ - obj_.original_tagname_ = 'HotelReadRequest' -# end class ReadRequestsType - - -class HotelReadRequestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, SelectionCriteria=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.SelectionCriteria = SelectionCriteria - self.SelectionCriteria_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReadRequestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReadRequestType.subclass: - return HotelReadRequestType.subclass(*args_, **kwargs_) - else: - return HotelReadRequestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_SelectionCriteria(self): - return self.SelectionCriteria - def set_SelectionCriteria(self, SelectionCriteria): - self.SelectionCriteria = SelectionCriteria - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.SelectionCriteria is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReadRequestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReadRequestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReadRequestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReadRequestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReadRequestType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReadRequestType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReadRequestType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.SelectionCriteria is not None: - namespaceprefix_ = self.SelectionCriteria_nsprefix_ + ':' if (UseCapturedNS_ and self.SelectionCriteria_nsprefix_) else '' - self.SelectionCriteria.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SelectionCriteria', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'SelectionCriteria': - obj_ = SelectionCriteriaType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SelectionCriteria = obj_ - obj_.original_tagname_ = 'SelectionCriteria' -# end class HotelReadRequestType - - -class SelectionCriteriaType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SelectionCriteriaType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SelectionCriteriaType.subclass: - return SelectionCriteriaType.subclass(*args_, **kwargs_) - else: - return SelectionCriteriaType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SelectionCriteriaType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SelectionCriteriaType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SelectionCriteriaType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SelectionCriteriaType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SelectionCriteriaType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SelectionCriteriaType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SelectionCriteriaType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class SelectionCriteriaType - - -class ErrorsType60(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType60) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType60.subclass: - return ErrorsType60.subclass(*args_, **kwargs_) - else: - return ErrorsType60(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType60', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType60') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType60': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType60') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType60', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType60'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType60', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType61.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType60 - - -class ErrorType61(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType61) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType61.subclass: - return ErrorType61.subclass(*args_, **kwargs_) - else: - return ErrorType61(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType62(self, value): - # Validate type TypeType62, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType62' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType61', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType61') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType61': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType61') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType61'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType61', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType62(self.Type) # validate type TypeType62 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType61 - - -class WarningsType63(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType63) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType63.subclass: - return WarningsType63.subclass(*args_, **kwargs_) - else: - return WarningsType63(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType63', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType63') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType63': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType63') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType63', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType63'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType63', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType64.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType63 - - -class WarningType64(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType64) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType64.subclass: - return WarningType64.subclass(*args_, **kwargs_) - else: - return WarningType64(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType64', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType64') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType64': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType64') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType64'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType64', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType64 - - -class ReservationsListType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservation is None: - self.HotelReservation = [] - else: - self.HotelReservation = HotelReservation - self.HotelReservation_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ReservationsListType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ReservationsListType.subclass: - return ReservationsListType.subclass(*args_, **kwargs_) - else: - return ReservationsListType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservation(self): - return self.HotelReservation - def set_HotelReservation(self, HotelReservation): - self.HotelReservation = HotelReservation - def add_HotelReservation(self, value): - self.HotelReservation.append(value) - def insert_HotelReservation_at(self, index, value): - self.HotelReservation.insert(index, value) - def replace_HotelReservation_at(self, index, value): - self.HotelReservation[index] = value - def has__content(self): - if ( - self.HotelReservation - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReservationsListType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReservationsListType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ReservationsListType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReservationsListType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReservationsListType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReservationsListType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ReservationsListType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservation_ in self.HotelReservation: - namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' - HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservation': - obj_ = HotelReservationType65.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservation.append(obj_) - obj_.original_tagname_ = 'HotelReservation' -# end class ReservationsListType - - -class HotelReservationType65(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CreateDateTime = _cast(None, CreateDateTime) - self.CreateDateTime_nsprefix_ = None - self.LastModifyDateTime = _cast(None, LastModifyDateTime) - self.LastModifyDateTime_nsprefix_ = None - self.ResStatus = _cast(None, ResStatus) - self.ResStatus_nsprefix_ = None - self.RoomStayReservation = _cast(bool, RoomStayReservation) - self.RoomStayReservation_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RoomStays = RoomStays - self.RoomStays_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - self.ResGuests = ResGuests - self.ResGuests_nsprefix_ = None - self.ResGlobalInfo = ResGlobalInfo - self.ResGlobalInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType65) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType65.subclass: - return HotelReservationType65.subclass(*args_, **kwargs_) - else: - return HotelReservationType65(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RoomStays(self): - return self.RoomStays - def set_RoomStays(self, RoomStays): - self.RoomStays = RoomStays - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_ResGuests(self): - return self.ResGuests - def set_ResGuests(self, ResGuests): - self.ResGuests = ResGuests - def get_ResGlobalInfo(self): - return self.ResGlobalInfo - def set_ResGlobalInfo(self, ResGlobalInfo): - self.ResGlobalInfo = ResGlobalInfo - def get_CreateDateTime(self): - return self.CreateDateTime - def set_CreateDateTime(self, CreateDateTime): - self.CreateDateTime = CreateDateTime - def get_LastModifyDateTime(self): - return self.LastModifyDateTime - def set_LastModifyDateTime(self, LastModifyDateTime): - self.LastModifyDateTime = LastModifyDateTime - def get_ResStatus(self): - return self.ResStatus - def set_ResStatus(self, ResStatus): - self.ResStatus = ResStatus - def get_RoomStayReservation(self): - return self.RoomStayReservation - def set_RoomStayReservation(self, RoomStayReservation): - self.RoomStayReservation = RoomStayReservation - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def validate_ResStatusType183(self, value): - # Validate type ResStatusType183, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType183' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.UniqueID is not None or - self.RoomStays is not None or - self.Services is not None or - self.ResGuests is not None or - self.ResGlobalInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType65', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType65') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType65': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType65') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType65', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType65'): - if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) - if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) - if self.ResStatus is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) - if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType65', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RoomStays is not None: - namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' - self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - if self.ResGuests is not None: - namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' - self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) - if self.ResGlobalInfo is not None: - namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' - self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CreateDateTime', node) - if value is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - try: - self.CreateDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) - self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime - value = find_attr_value_('LastModifyDateTime', node) - if value is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - try: - self.LastModifyDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) - self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime - value = find_attr_value_('ResStatus', node) - if value is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - self.ResStatus = value - self.validate_ResStatusType183(self.ResStatus) # validate type ResStatusType183 - value = find_attr_value_('RoomStayReservation', node) - if value is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - if value in ('true', '1'): - self.RoomStayReservation = True - elif value in ('false', '0'): - self.RoomStayReservation = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RoomStayReservation) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType66.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RoomStays': - obj_ = RoomStaysType68.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStays = obj_ - obj_.original_tagname_ = 'RoomStays' - elif nodeName_ == 'Services': - obj_ = ServicesType102.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' - elif nodeName_ == 'ResGuests': - obj_ = ResGuestsType120.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuests = obj_ - obj_.original_tagname_ = 'ResGuests' - elif nodeName_ == 'ResGlobalInfo': - obj_ = ResGlobalInfoType138.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGlobalInfo = obj_ - obj_.original_tagname_ = 'ResGlobalInfo' -# end class HotelReservationType65 - - -class UniqueIDType66(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType66) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType66.subclass: - return UniqueIDType66.subclass(*args_, **kwargs_) - else: - return UniqueIDType66(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType67(self, value): - # Validate type TypeType67, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType67' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType66', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType66') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType66': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType66') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType66', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType66'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType66', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType67(self.Type) # validate type TypeType67 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType66 - - -class RoomStaysType68(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if RoomStay is None: - self.RoomStay = [] - else: - self.RoomStay = RoomStay - self.RoomStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStaysType68) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStaysType68.subclass: - return RoomStaysType68.subclass(*args_, **kwargs_) - else: - return RoomStaysType68(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomStay(self): - return self.RoomStay - def set_RoomStay(self, RoomStay): - self.RoomStay = RoomStay - def add_RoomStay(self, value): - self.RoomStay.append(value) - def insert_RoomStay_at(self, index, value): - self.RoomStay.insert(index, value) - def replace_RoomStay_at(self, index, value): - self.RoomStay[index] = value - def has__content(self): - if ( - self.RoomStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType68', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType68') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStaysType68': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType68') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType68', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType68'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType68', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RoomStay_ in self.RoomStay: - namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' - RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomStay': - obj_ = RoomStayType69.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStay.append(obj_) - obj_.original_tagname_ = 'RoomStay' -# end class RoomStaysType68 - - -class RoomStayType69(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomStayGroupID = _cast(None, RoomStayGroupID) - self.RoomStayGroupID_nsprefix_ = None - self.RoomTypes = RoomTypes - self.RoomTypes_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - self.RoomRates = RoomRates - self.RoomRates_nsprefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Guarantee = Guarantee - self.Guarantee_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceRPHs = ServiceRPHs - self.ServiceRPHs_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStayType69) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStayType69.subclass: - return RoomStayType69.subclass(*args_, **kwargs_) - else: - return RoomStayType69(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypes(self): - return self.RoomTypes - def set_RoomTypes(self, RoomTypes): - self.RoomTypes = RoomTypes - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_RoomRates(self): - return self.RoomRates - def set_RoomRates(self, RoomRates): - self.RoomRates = RoomRates - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Guarantee(self): - return self.Guarantee - def set_Guarantee(self, Guarantee): - self.Guarantee = Guarantee - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceRPHs(self): - return self.ServiceRPHs - def set_ServiceRPHs(self, ServiceRPHs): - self.ServiceRPHs = ServiceRPHs - def get_RoomStayGroupID(self): - return self.RoomStayGroupID - def set_RoomStayGroupID(self, RoomStayGroupID): - self.RoomStayGroupID = RoomStayGroupID - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RoomTypes is not None or - self.RatePlans is not None or - self.RoomRates is not None or - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Guarantee is not None or - self.Total is not None or - self.ServiceRPHs is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType69', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType69') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStayType69': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType69') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType69', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType69'): - if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType69', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomTypes is not None: - namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' - self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - if self.RoomRates is not None: - namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' - self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Guarantee is not None: - namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' - self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceRPHs is not None: - namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' - self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomStayGroupID', node) - if value is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - self.RoomStayGroupID = value - self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomTypes': - obj_ = RoomTypesType70.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomTypes = obj_ - obj_.original_tagname_ = 'RoomTypes' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType73.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' - elif nodeName_ == 'RoomRates': - obj_ = RoomRatesType80.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRates = obj_ - obj_.original_tagname_ = 'RoomRates' - elif nodeName_ == 'GuestCounts': - obj_ = GuestCountsType86.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType88.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Guarantee': - obj_ = GuaranteeType91.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guarantee = obj_ - obj_.original_tagname_ = 'Guarantee' - elif nodeName_ == 'Total': - obj_ = TotalType98.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceRPHs': - obj_ = ServiceRPHsType99.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPHs = obj_ - obj_.original_tagname_ = 'ServiceRPHs' -# end class RoomStayType69 - - -class RoomTypesType70(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomType = RoomType - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypesType70) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypesType70.subclass: - return RoomTypesType70.subclass(*args_, **kwargs_) - else: - return RoomTypesType70(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def has__content(self): - if ( - self.RoomType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType70', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType70') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypesType70': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType70') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType70', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType70'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType70', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomType is not None: - namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' - self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomType': - obj_ = RoomTypeType71.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomType = obj_ - obj_.original_tagname_ = 'RoomType' -# end class RoomTypesType70 - - -class RoomTypeType71(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypeType71) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypeType71.subclass: - return RoomTypeType71.subclass(*args_, **kwargs_) - else: - return RoomTypeType71(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_RoomTypeType72(self, value): - # Validate type RoomTypeType72, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType72' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType71', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType71') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypeType71': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType71') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType71', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType71'): - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType71', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType72(self.RoomType) # validate type RoomTypeType72 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RoomTypeType71 - - -class RatePlansType73(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType73) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType73.subclass: - return RatePlansType73.subclass(*args_, **kwargs_) - else: - return RatePlansType73(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType73', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType73') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType73': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType73') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType73', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType73'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType73', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType74.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType73 - - -class RatePlanType74(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.Commission = Commission - self.Commission_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType74) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType74.subclass: - return RatePlanType74.subclass(*args_, **kwargs_) - else: - return RatePlanType74(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Commission(self): - return self.Commission - def set_Commission(self, Commission): - self.Commission = Commission - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Commission is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType74', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType74') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType74': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType74') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType74', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType74'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType74', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Commission is not None: - namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' - self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Commission': - obj_ = CommissionType75.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Commission = obj_ - obj_.original_tagname_ = 'Commission' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType77.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RatePlanType74 - - -class CommissionType75(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(int, Percent) - self.Percent_nsprefix_ = None - self.CommissionPayableAmount = CommissionPayableAmount - self.CommissionPayableAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionType75) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionType75.subclass: - return CommissionType75.subclass(*args_, **kwargs_) - else: - return CommissionType75(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CommissionPayableAmount(self): - return self.CommissionPayableAmount - def set_CommissionPayableAmount(self, CommissionPayableAmount): - self.CommissionPayableAmount = CommissionPayableAmount - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CommissionPayableAmount is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType75', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType75') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionType75': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType75') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType75', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType75'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType75', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CommissionPayableAmount is not None: - namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' - self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = self.gds_parse_integer(value, node, 'Percent') - if self.Percent < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CommissionPayableAmount': - obj_ = CommissionPayableAmountType76.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CommissionPayableAmount = obj_ - obj_.original_tagname_ = 'CommissionPayableAmount' -# end class CommissionType75 - - -class CommissionPayableAmountType76(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionPayableAmountType76) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionPayableAmountType76.subclass: - return CommissionPayableAmountType76.subclass(*args_, **kwargs_) - else: - return CommissionPayableAmountType76(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType76', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType76') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType76': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType76') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType76', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType76'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType76', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CommissionPayableAmountType76 - - -class MealsIncludedType77(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType77) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType77.subclass: - return MealsIncludedType77.subclass(*args_, **kwargs_) - else: - return MealsIncludedType77(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def validate_MealPlanIndicatorType78(self, value): - # Validate type MealPlanIndicatorType78, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType78' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanCodesType79(self, value): - # Validate type MealPlanCodesType79, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType79' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType77', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType77') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType77': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType77') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType77', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType77'): - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType77', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType78(self.MealPlanIndicator) # validate type MealPlanIndicatorType78 - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType79(self.MealPlanCodes) # validate type MealPlanCodesType79 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType77 - - -class RoomRatesType80(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomRate = RoomRate - self.RoomRate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRatesType80) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRatesType80.subclass: - return RoomRatesType80.subclass(*args_, **kwargs_) - else: - return RoomRatesType80(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomRate(self): - return self.RoomRate - def set_RoomRate(self, RoomRate): - self.RoomRate = RoomRate - def has__content(self): - if ( - self.RoomRate is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType80', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType80') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRatesType80': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType80') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType80', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType80'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType80', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomRate is not None: - namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' - self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomRate': - obj_ = RoomRateType81.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRate = obj_ - obj_.original_tagname_ = 'RoomRate' -# end class RoomRatesType80 - - -class RoomRateType81(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRateType81) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRateType81.subclass: - return RoomRateType81.subclass(*args_, **kwargs_) - else: - return RoomRateType81(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Rates is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType81', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType81') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRateType81': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType81') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType81', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType81'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType81', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rates': - obj_ = RatesType82.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' -# end class RoomRateType81 - - -class RatesType82(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType82) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType82.subclass: - return RatesType82.subclass(*args_, **kwargs_) - else: - return RatesType82(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType82', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType82') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType82': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType82') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType82', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType82'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType82', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType83.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType82 - - -class RateType83(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EffectiveDate = _cast(None, EffectiveDate) - self.EffectiveDate_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) - self.ExpireDateExclusiveInd_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - if Base is None: - self.Base = [] - else: - self.Base = Base - self.Base_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType83) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType83.subclass: - return RateType83.subclass(*args_, **kwargs_) - else: - return RateType83(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Base(self): - return self.Base - def set_Base(self, Base): - self.Base = Base - def add_Base(self, value): - self.Base.append(value) - def insert_Base_at(self, index, value): - self.Base.insert(index, value) - def replace_Base_at(self, index, value): - self.Base[index] = value - def get_EffectiveDate(self): - return self.EffectiveDate - def set_EffectiveDate(self, EffectiveDate): - self.EffectiveDate = EffectiveDate - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def get_ExpireDateExclusiveInd(self): - return self.ExpireDateExclusiveInd - def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): - self.ExpireDateExclusiveInd = ExpireDateExclusiveInd - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType85(self, value): - # Validate type RateTimeUnitType85, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType85' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Base - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType83', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType83') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType83': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType83') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType83', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType83'): - if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) - if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType83', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Base_ in self.Base: - namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' - Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EffectiveDate', node) - if value is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - try: - self.EffectiveDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) - self.validate_def_date(self.EffectiveDate) # validate type def_date - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - try: - self.ExpireDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (ExpireDate): %s' % exp) - self.validate_def_date(self.ExpireDate) # validate type def_date - value = find_attr_value_('ExpireDateExclusiveInd', node) - if value is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - if value in ('true', '1'): - self.ExpireDateExclusiveInd = True - elif value in ('false', '0'): - self.ExpireDateExclusiveInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType85(self.RateTimeUnit) # validate type RateTimeUnitType85 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Base': - obj_ = BaseType84.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Base.append(obj_) - obj_.original_tagname_ = 'Base' -# end class RateType83 - - -class BaseType84(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseType84) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseType84.subclass: - return BaseType84.subclass(*args_, **kwargs_) - else: - return BaseType84(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType84', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType84') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseType84': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType84') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType84', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType84'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType84', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseType84 - - -class GuestCountsType86(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType86) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType86.subclass: - return GuestCountsType86.subclass(*args_, **kwargs_) - else: - return GuestCountsType86(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType86', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType86') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType86': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType86') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType86', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType86'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType86', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType87.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType86 - - -class GuestCountType87(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType87) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType87.subclass: - return GuestCountType87.subclass(*args_, **kwargs_) - else: - return GuestCountType87(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType87', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType87') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType87': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType87') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType87', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType87'): - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType87', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType87 - - -class TimeSpanType88(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.StartDateWindow = StartDateWindow - self.StartDateWindow_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType88) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType88.subclass: - return TimeSpanType88.subclass(*args_, **kwargs_) - else: - return TimeSpanType88(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StartDateWindow(self): - return self.StartDateWindow - def set_StartDateWindow(self, StartDateWindow): - self.StartDateWindow = StartDateWindow - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_DurationType90(self, value): - # Validate type DurationType90, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType90_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType90_patterns_, )) - validate_DurationType90_patterns_ = [['^(P[0-9]+N)$']] - def has__content(self): - if ( - self.StartDateWindow is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType88', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType88') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType88': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType88') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType88', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType88'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType88', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StartDateWindow is not None: - namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' - self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType90(self.Duration) # validate type DurationType90 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StartDateWindow': - obj_ = StartDateWindowType89.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StartDateWindow = obj_ - obj_.original_tagname_ = 'StartDateWindow' -# end class TimeSpanType88 - - -class StartDateWindowType89(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EarliestDate = _cast(None, EarliestDate) - self.EarliestDate_nsprefix_ = None - self.LatestDate = _cast(None, LatestDate) - self.LatestDate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StartDateWindowType89) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StartDateWindowType89.subclass: - return StartDateWindowType89.subclass(*args_, **kwargs_) - else: - return StartDateWindowType89(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EarliestDate(self): - return self.EarliestDate - def set_EarliestDate(self, EarliestDate): - self.EarliestDate = EarliestDate - def get_LatestDate(self): - return self.LatestDate - def set_LatestDate(self, LatestDate): - self.LatestDate = LatestDate - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType89', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType89') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StartDateWindowType89': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType89') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType89', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType89'): - if self.EarliestDate is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) - if self.LatestDate is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType89', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EarliestDate', node) - if value is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - try: - self.EarliestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EarliestDate): %s' % exp) - self.validate_def_date(self.EarliestDate) # validate type def_date - value = find_attr_value_('LatestDate', node) - if value is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - try: - self.LatestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (LatestDate): %s' % exp) - self.validate_def_date(self.LatestDate) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StartDateWindowType89 - - -class GuaranteeType91(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteesAccepted = GuaranteesAccepted - self.GuaranteesAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeType91) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeType91.subclass: - return GuaranteeType91.subclass(*args_, **kwargs_) - else: - return GuaranteeType91(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteesAccepted(self): - return self.GuaranteesAccepted - def set_GuaranteesAccepted(self, GuaranteesAccepted): - self.GuaranteesAccepted = GuaranteesAccepted - def has__content(self): - if ( - self.GuaranteesAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType91', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType91') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeType91': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType91') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType91', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType91'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType91', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteesAccepted is not None: - namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' - self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteesAccepted': - obj_ = GuaranteesAcceptedType92.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteesAccepted = obj_ - obj_.original_tagname_ = 'GuaranteesAccepted' -# end class GuaranteeType91 - - -class GuaranteesAcceptedType92(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeAccepted = GuaranteeAccepted - self.GuaranteeAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteesAcceptedType92) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteesAcceptedType92.subclass: - return GuaranteesAcceptedType92.subclass(*args_, **kwargs_) - else: - return GuaranteesAcceptedType92(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteeAccepted(self): - return self.GuaranteeAccepted - def set_GuaranteeAccepted(self, GuaranteeAccepted): - self.GuaranteeAccepted = GuaranteeAccepted - def has__content(self): - if ( - self.GuaranteeAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType92', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType92') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType92': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType92') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType92', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType92'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType92', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteeAccepted is not None: - namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' - self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteeAccepted': - obj_ = GuaranteeAcceptedType93.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteeAccepted = obj_ - obj_.original_tagname_ = 'GuaranteeAccepted' -# end class GuaranteesAcceptedType92 - - -class GuaranteeAcceptedType93(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeAcceptedType93) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeAcceptedType93.subclass: - return GuaranteeAcceptedType93.subclass(*args_, **kwargs_) - else: - return GuaranteeAcceptedType93(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType93', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType93') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType93': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType93') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType93', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType93'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType93', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType94.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class GuaranteeAcceptedType93 - - -class PaymentCardType94(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType94) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType94.subclass: - return PaymentCardType94.subclass(*args_, **kwargs_) - else: - return PaymentCardType94(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType96(self, value): - # Validate type CardCodeType96, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType96_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType96_patterns_, )) - validate_CardCodeType96_patterns_ = [['^([A-Z][A-Z]?)$']] - def validate_ExpireDateType97(self, value): - # Validate type ExpireDateType97, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType97_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType97_patterns_, )) - validate_ExpireDateType97_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType94', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType94') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType94': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType94') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType94', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType94'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType94', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType96(self.CardCode) # validate type CardCodeType96 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType97(self.ExpireDate) # validate type ExpireDateType97 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType95.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType94 - - -class CardNumberType95(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EncryptedValue = _cast(None, EncryptedValue) - self.EncryptedValue_nsprefix_ = None - self.EncryptionMethod = _cast(None, EncryptionMethod) - self.EncryptionMethod_nsprefix_ = None - self.PlainText = PlainText - self.validate_def_nonempty_string(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType95) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType95.subclass: - return CardNumberType95.subclass(*args_, **kwargs_) - else: - return CardNumberType95(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_EncryptedValue(self): - return self.EncryptedValue - def set_EncryptedValue(self, EncryptedValue): - self.EncryptedValue = EncryptedValue - def get_EncryptionMethod(self): - return self.EncryptionMethod - def set_EncryptionMethod(self, EncryptionMethod): - self.EncryptionMethod = EncryptionMethod - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType95', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType95') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType95': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType95') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType95', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType95'): - if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) - if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType95', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EncryptedValue', node) - if value is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - self.EncryptedValue = value - self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string - value = find_attr_value_('EncryptionMethod', node) - if value is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - self.EncryptionMethod = value - self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.PlainText) -# end class CardNumberType95 - - -class TotalType98(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType98) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType98.subclass: - return TotalType98.subclass(*args_, **kwargs_) - else: - return TotalType98(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType98', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType98') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType98': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType98') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType98', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType98'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType98', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType98 - - -class ServiceRPHsType99(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ServiceRPH is None: - self.ServiceRPH = [] - else: - self.ServiceRPH = ServiceRPH - self.ServiceRPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHsType99) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHsType99.subclass: - return ServiceRPHsType99.subclass(*args_, **kwargs_) - else: - return ServiceRPHsType99(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def add_ServiceRPH(self, value): - self.ServiceRPH.append(value) - def insert_ServiceRPH_at(self, index, value): - self.ServiceRPH.insert(index, value) - def replace_ServiceRPH_at(self, index, value): - self.ServiceRPH[index] = value - def has__content(self): - if ( - self.ServiceRPH - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType99', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType99') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHsType99': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType99') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType99', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType99'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType99', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ServiceRPH_ in self.ServiceRPH: - namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' - ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceRPH': - obj_ = ServiceRPHType100.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPH.append(obj_) - obj_.original_tagname_ = 'ServiceRPH' -# end class ServiceRPHsType99 - - -class ServiceRPHType100(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RPH = _cast(None, RPH) - self.RPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHType100) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHType100.subclass: - return ServiceRPHType100.subclass(*args_, **kwargs_) - else: - return ServiceRPHType100(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RPH(self): - return self.RPH - def set_RPH(self, RPH): - self.RPH = RPH - def validate_RPHType101(self, value): - # Validate type RPHType101, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RPHType101_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType101_patterns_, )) - validate_RPHType101_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType100', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType100') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHType100': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType100') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType100', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType100'): - if self.RPH is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType100', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RPH', node) - if value is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - self.RPH = value - self.validate_RPHType101(self.RPH) # validate type RPHType101 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ServiceRPHType100 - - -class ServicesType102(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType102) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType102.subclass: - return ServicesType102.subclass(*args_, **kwargs_) - else: - return ServicesType102(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType102', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType102') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType102': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType102') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType102', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType102'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType102', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType103.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType102 - - -class ServiceType103(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) - self.ServiceCategoryCode_nsprefix_ = None - self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) - self.ServiceInventoryCode_nsprefix_ = None - self.ServiceRPH = _cast(None, ServiceRPH) - self.ServiceRPH_nsprefix_ = None - self.ServicePricingType = _cast(None, ServicePricingType) - self.ServicePricingType_nsprefix_ = None - self.Inclusive = _cast(bool, Inclusive) - self.Inclusive_nsprefix_ = None - self.Quantity = _cast(int, Quantity) - self.Quantity_nsprefix_ = None - self.ServiceDetails = ServiceDetails - self.ServiceDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType103) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType103.subclass: - return ServiceType103.subclass(*args_, **kwargs_) - else: - return ServiceType103(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceDetails(self): - return self.ServiceDetails - def set_ServiceDetails(self, ServiceDetails): - self.ServiceDetails = ServiceDetails - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ServiceCategoryCode(self): - return self.ServiceCategoryCode - def set_ServiceCategoryCode(self, ServiceCategoryCode): - self.ServiceCategoryCode = ServiceCategoryCode - def get_ServiceInventoryCode(self): - return self.ServiceInventoryCode - def set_ServiceInventoryCode(self, ServiceInventoryCode): - self.ServiceInventoryCode = ServiceInventoryCode - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def get_ServicePricingType(self): - return self.ServicePricingType - def set_ServicePricingType(self, ServicePricingType): - self.ServicePricingType = ServicePricingType - def get_Inclusive(self): - return self.Inclusive - def set_Inclusive(self, Inclusive): - self.Inclusive = Inclusive - def get_Quantity(self): - return self.Quantity - def set_Quantity(self, Quantity): - self.Quantity = Quantity - def validate_def_one_to_thirty_two_chars_string(self, value): - # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType116(self, value): - # Validate type TypeType116, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType116' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceCategoryCodeType117(self, value): - # Validate type ServiceCategoryCodeType117, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType117' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceRPHType118(self, value): - # Validate type ServiceRPHType118, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ServiceRPHType118_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType118_patterns_, )) - validate_ServiceRPHType118_patterns_ = [['^([0-9]{1,8})$']] - def validate_ServicePricingTypeType119(self, value): - # Validate type ServicePricingTypeType119, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType119' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ServiceDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType103', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType103') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType103': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType103') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType103', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType103'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) - if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) - if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) - if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) - if self.Inclusive is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) - if self.Quantity is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType103', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ServiceDetails is not None: - namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' - self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType116(self.Type) # validate type TypeType116 - value = find_attr_value_('ServiceCategoryCode', node) - if value is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - self.ServiceCategoryCode = value - self.validate_ServiceCategoryCodeType117(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType117 - value = find_attr_value_('ServiceInventoryCode', node) - if value is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - self.ServiceInventoryCode = value - self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('ServiceRPH', node) - if value is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - self.ServiceRPH = value - self.validate_ServiceRPHType118(self.ServiceRPH) # validate type ServiceRPHType118 - value = find_attr_value_('ServicePricingType', node) - if value is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - self.ServicePricingType = value - self.validate_ServicePricingTypeType119(self.ServicePricingType) # validate type ServicePricingTypeType119 - value = find_attr_value_('Inclusive', node) - if value is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - if value in ('true', '1'): - self.Inclusive = True - elif value in ('false', '0'): - self.Inclusive = False - else: - raise_parse_error(node, 'Bad boolean attribute') - value = find_attr_value_('Quantity', node) - if value is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - self.Quantity = self.gds_parse_integer(value, node, 'Quantity') - if self.Quantity <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceDetails': - obj_ = ServiceDetailsType104.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDetails = obj_ - obj_.original_tagname_ = 'ServiceDetails' -# end class ServiceType103 - - -class ServiceDetailsType104(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceDescription = ServiceDescription - self.ServiceDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDetailsType104) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDetailsType104.subclass: - return ServiceDetailsType104.subclass(*args_, **kwargs_) - else: - return ServiceDetailsType104(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceDescription(self): - return self.ServiceDescription - def set_ServiceDescription(self, ServiceDescription): - self.ServiceDescription = ServiceDescription - def has__content(self): - if ( - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Comments is not None or - self.Total is not None or - self.ServiceDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType104', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType104') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDetailsType104': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType104') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType104', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType104'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType104', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceDescription is not None: - namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' - self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCounts': - obj_ = GuestCountsType105.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType107.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Comments': - obj_ = CommentsType108.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'Total': - obj_ = TotalType112.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceDescription': - obj_ = ServiceDescriptionType113.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDescription = obj_ - obj_.original_tagname_ = 'ServiceDescription' -# end class ServiceDetailsType104 - - -class GuestCountsType105(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType105) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType105.subclass: - return GuestCountsType105.subclass(*args_, **kwargs_) - else: - return GuestCountsType105(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType105', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType105') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType105': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType105') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType105', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType105'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType105', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType106.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType105 - - -class GuestCountType106(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType106) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType106.subclass: - return GuestCountType106.subclass(*args_, **kwargs_) - else: - return GuestCountType106(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType106', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType106') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType106': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType106') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType106', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType106'): - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType106', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType106 - - -class TimeSpanType107(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType107) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType107.subclass: - return TimeSpanType107.subclass(*args_, **kwargs_) - else: - return TimeSpanType107(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType107', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType107') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType107': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType107') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType107', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType107'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType107', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (End): %s' % exp) - self.validate_def_datetime(self.End) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TimeSpanType107 - - -class CommentsType108(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType108) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType108.subclass: - return CommentsType108.subclass(*args_, **kwargs_) - else: - return CommentsType108(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def has__content(self): - if ( - self.Comment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType108', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType108') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType108': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType108') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType108', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType108'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType108', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comment is not None: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType109.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment = obj_ - obj_.original_tagname_ = 'Comment' -# end class CommentsType108 - - -class CommentType109(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType109) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType109.subclass: - return CommentType109.subclass(*args_, **kwargs_) - else: - return CommentType109(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType109', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType109') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType109': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType109') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType109', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType109'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType109', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType110.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class CommentType109 - - -class TextType110(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType110) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType110.subclass: - return TextType110.subclass(*args_, **kwargs_) - else: - return TextType110(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType111(self, value): - # Validate type TextFormatType111, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType111' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType110', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType110') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType110': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType110') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType110'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType110', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType111(self.TextFormat) # validate type TextFormatType111 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType110 - - -class TotalType112(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType112) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType112.subclass: - return TotalType112.subclass(*args_, **kwargs_) - else: - return TotalType112(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType112', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType112') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType112': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType112') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType112', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType112'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType112', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType112 - - -class ServiceDescriptionType113(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDescriptionType113) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDescriptionType113.subclass: - return ServiceDescriptionType113.subclass(*args_, **kwargs_) - else: - return ServiceDescriptionType113(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType113', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType113') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType113': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType113') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType113', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType113'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType113', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType114.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class ServiceDescriptionType113 - - -class TextType114(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType114) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType114.subclass: - return TextType114.subclass(*args_, **kwargs_) - else: - return TextType114(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType115(self, value): - # Validate type TextFormatType115, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType115' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType114', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType114') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType114': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType114') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType114'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType114', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType115(self.TextFormat) # validate type TextFormatType115 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType114 - - -class ResGuestsType120(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResGuest = ResGuest - self.ResGuest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestsType120) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestsType120.subclass: - return ResGuestsType120.subclass(*args_, **kwargs_) - else: - return ResGuestsType120(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResGuest(self): - return self.ResGuest - def set_ResGuest(self, ResGuest): - self.ResGuest = ResGuest - def has__content(self): - if ( - self.ResGuest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType120', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType120') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestsType120': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType120') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType120', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType120'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType120', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ResGuest is not None: - namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' - self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ResGuest': - obj_ = ResGuestType121.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuest = obj_ - obj_.original_tagname_ = 'ResGuest' -# end class ResGuestsType120 - - -class ResGuestType121(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestType121) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestType121.subclass: - return ResGuestType121.subclass(*args_, **kwargs_) - else: - return ResGuestType121(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def has__content(self): - if ( - self.Profiles is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType121', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType121') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestType121': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType121') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType121', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType121'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType121', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profiles': - obj_ = ProfilesType122.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' -# end class ResGuestType121 - - -class ProfilesType122(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType122) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType122.subclass: - return ProfilesType122.subclass(*args_, **kwargs_) - else: - return ProfilesType122(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType122', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType122') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType122': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType122') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType122', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType122'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType122', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType123.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType122 - - -class ProfileInfoType123(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType123) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType123.subclass: - return ProfileInfoType123.subclass(*args_, **kwargs_) - else: - return ProfileInfoType123(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType123', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType123') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType123': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType123') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType123', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType123'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType123', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType124.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType123 - - -class ProfileType124(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Customer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Customer = Customer - self.Customer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType124) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType124.subclass: - return ProfileType124.subclass(*args_, **kwargs_) - else: - return ProfileType124(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Customer(self): - return self.Customer - def set_Customer(self, Customer): - self.Customer = Customer - def has__content(self): - if ( - self.Customer is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType124', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType124') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType124': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType124') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType124', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType124'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType124', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Customer is not None: - namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' - self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Customer': - obj_ = CustomerType125.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Customer = obj_ - obj_.original_tagname_ = 'Customer' -# end class ProfileType124 - - -class CustomerType125(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Gender = _cast(None, Gender) - self.Gender_nsprefix_ = None - self.BirthDate = _cast(None, BirthDate) - self.BirthDate_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - if Telephone is None: - self.Telephone = [] - else: - self.Telephone = Telephone - self.Telephone_nsprefix_ = None - self.Email = Email - self.Email_nsprefix_ = None - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerType125) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerType125.subclass: - return CustomerType125.subclass(*args_, **kwargs_) - else: - return CustomerType125(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_Telephone(self): - return self.Telephone - def set_Telephone(self, Telephone): - self.Telephone = Telephone - def add_Telephone(self, value): - self.Telephone.append(value) - def insert_Telephone_at(self, index, value): - self.Telephone.insert(index, value) - def replace_Telephone_at(self, index, value): - self.Telephone[index] = value - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def get_Gender(self): - return self.Gender - def set_Gender(self, Gender): - self.Gender = Gender - def get_BirthDate(self): - return self.BirthDate - def set_BirthDate(self, BirthDate): - self.BirthDate = BirthDate - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_GenderType136(self, value): - # Validate type GenderType136, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_GenderType136_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType136_patterns_, )) - validate_GenderType136_patterns_ = [['^((Unknown|Male|Female))$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_LanguageType137(self, value): - # Validate type LanguageType137, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType137_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType137_patterns_, )) - validate_LanguageType137_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.PersonName is not None or - self.Telephone or - self.Email is not None or - self.Address is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType125', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType125') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerType125': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType125') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType125', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType125'): - if self.Gender is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) - if self.BirthDate is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType125', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - for Telephone_ in self.Telephone: - namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' - Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - if self.Address is not None: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Gender', node) - if value is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - self.Gender = value - self.validate_GenderType136(self.Gender) # validate type GenderType136 - value = find_attr_value_('BirthDate', node) - if value is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - try: - self.BirthDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (BirthDate): %s' % exp) - self.validate_def_date(self.BirthDate) # validate type def_date - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType137(self.Language) # validate type LanguageType137 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType126.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'Telephone': - obj_ = TelephoneType127.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Telephone.append(obj_) - obj_.original_tagname_ = 'Telephone' - elif nodeName_ == 'Email': - obj_ = EmailType130.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email = obj_ - obj_.original_tagname_ = 'Email' - elif nodeName_ == 'Address': - obj_ = AddressType132.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address = obj_ - obj_.original_tagname_ = 'Address' -# end class CustomerType125 - - -class PersonNameType126(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NamePrefix = NamePrefix - self.validate_StringLength1to16(self.NamePrefix) - self.NamePrefix_nsprefix_ = None - self.GivenName = GivenName - self.validate_StringLength1to64(self.GivenName) - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.validate_StringLength1to64(self.Surname) - self.Surname_nsprefix_ = None - self.NameTitle = NameTitle - self.validate_StringLength1to16(self.NameTitle) - self.NameTitle_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType126) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType126.subclass: - return PersonNameType126.subclass(*args_, **kwargs_) - else: - return PersonNameType126(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NamePrefix(self): - return self.NamePrefix - def set_NamePrefix(self, NamePrefix): - self.NamePrefix = NamePrefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def get_NameTitle(self): - return self.NameTitle - def set_NameTitle(self, NameTitle): - self.NameTitle = NameTitle - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.NamePrefix is not None or - self.GivenName is not None or - self.Surname is not None or - self.NameTitle is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType126', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType126') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType126': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType126') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType126', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType126'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType126', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.NamePrefix is not None: - namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) - if self.NameTitle is not None: - namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'NamePrefix': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NamePrefix') - value_ = self.gds_validate_string(value_, node, 'NamePrefix') - self.NamePrefix = value_ - self.NamePrefix_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NamePrefix) - elif nodeName_ == 'GivenName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'GivenName') - value_ = self.gds_validate_string(value_, node, 'GivenName') - self.GivenName = value_ - self.GivenName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.GivenName) - elif nodeName_ == 'Surname': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Surname') - value_ = self.gds_validate_string(value_, node, 'Surname') - self.Surname = value_ - self.Surname_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.Surname) - elif nodeName_ == 'NameTitle': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NameTitle') - value_ = self.gds_validate_string(value_, node, 'NameTitle') - self.NameTitle = value_ - self.NameTitle_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NameTitle) -# end class PersonNameType126 - - -class TelephoneType127(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneType127) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneType127.subclass: - return TelephoneType127.subclass(*args_, **kwargs_) - else: - return TelephoneType127(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType128(self, value): - # Validate type PhoneTechTypeType128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType128_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType128_patterns_, )) - validate_PhoneTechTypeType128_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType129(self, value): - # Validate type PhoneNumberType129, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType129_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType129_patterns_, )) - validate_PhoneNumberType129_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType127', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType127') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneType127': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType127') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType127', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType127'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType127', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType128(self.PhoneTechType) # validate type PhoneTechTypeType128 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType129(self.PhoneNumber) # validate type PhoneNumberType129 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneType127 - - -class EmailType130(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType130) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType130.subclass: - return EmailType130.subclass(*args_, **kwargs_) - else: - return EmailType130(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_email_string(self, value): - result = True - # Validate type def_email_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_email_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) - result = False - return result - validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] - def validate_RemarkType131(self, value): - # Validate type RemarkType131, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType131_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType131_patterns_, )) - validate_RemarkType131_patterns_ = [['^(newsletter:(no|yes))$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType130', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType130') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType130': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType130') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType130'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType130', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType131(self.Remark) # validate type RemarkType131 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType130 - - -class AddressType132(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType132) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType132.subclass: - return AddressType132.subclass(*args_, **kwargs_) - else: - return AddressType132(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_RemarkType135(self, value): - # Validate type RemarkType135, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType135_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType135_patterns_, )) - validate_RemarkType135_patterns_ = [['^(catalog:(no|yes))$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType132', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType132') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType132': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType132') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType132', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType132'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType132', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType135(self.Remark) # validate type RemarkType135 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType133.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType132 - - -class CountryNameType133(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType133) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType133.subclass: - return CountryNameType133.subclass(*args_, **kwargs_) - else: - return CountryNameType133(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType134(self, value): - # Validate type CodeType134, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType134_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType134_patterns_, )) - validate_CodeType134_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType133', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType133') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType133': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType133') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType133', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType133'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType133', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType134(self.Code) # validate type CodeType134 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType133 - - -class ResGlobalInfoType138(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.SpecialRequests = SpecialRequests - self.SpecialRequests_nsprefix_ = None - self.DepositPayments = DepositPayments - self.DepositPayments_nsprefix_ = None - self.CancelPenalties = CancelPenalties - self.CancelPenalties_nsprefix_ = None - self.HotelReservationIDs = HotelReservationIDs - self.HotelReservationIDs_nsprefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - self.BasicPropertyInfo = BasicPropertyInfo - self.BasicPropertyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGlobalInfoType138) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGlobalInfoType138.subclass: - return ResGlobalInfoType138.subclass(*args_, **kwargs_) - else: - return ResGlobalInfoType138(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_SpecialRequests(self): - return self.SpecialRequests - def set_SpecialRequests(self, SpecialRequests): - self.SpecialRequests = SpecialRequests - def get_DepositPayments(self): - return self.DepositPayments - def set_DepositPayments(self, DepositPayments): - self.DepositPayments = DepositPayments - def get_CancelPenalties(self): - return self.CancelPenalties - def set_CancelPenalties(self, CancelPenalties): - self.CancelPenalties = CancelPenalties - def get_HotelReservationIDs(self): - return self.HotelReservationIDs - def set_HotelReservationIDs(self, HotelReservationIDs): - self.HotelReservationIDs = HotelReservationIDs - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def get_BasicPropertyInfo(self): - return self.BasicPropertyInfo - def set_BasicPropertyInfo(self, BasicPropertyInfo): - self.BasicPropertyInfo = BasicPropertyInfo - def has__content(self): - if ( - self.Comments is not None or - self.SpecialRequests is not None or - self.DepositPayments is not None or - self.CancelPenalties is not None or - self.HotelReservationIDs is not None or - self.Profiles is not None or - self.BasicPropertyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType138', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType138') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType138': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType138') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType138', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType138'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType138', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.SpecialRequests is not None: - namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' - self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) - if self.DepositPayments is not None: - namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' - self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) - if self.CancelPenalties is not None: - namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' - self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) - if self.HotelReservationIDs is not None: - namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' - self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - if self.BasicPropertyInfo is not None: - namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' - self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comments': - obj_ = CommentsType139.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'SpecialRequests': - obj_ = SpecialRequestsType144.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequests = obj_ - obj_.original_tagname_ = 'SpecialRequests' - elif nodeName_ == 'DepositPayments': - obj_ = DepositPaymentsType149.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepositPayments = obj_ - obj_.original_tagname_ = 'DepositPayments' - elif nodeName_ == 'CancelPenalties': - obj_ = CancelPenaltiesType165.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalties = obj_ - obj_.original_tagname_ = 'CancelPenalties' - elif nodeName_ == 'HotelReservationIDs': - obj_ = HotelReservationIDsType168.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationIDs = obj_ - obj_.original_tagname_ = 'HotelReservationIDs' - elif nodeName_ == 'Profiles': - obj_ = ProfilesType170.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' - elif nodeName_ == 'BasicPropertyInfo': - obj_ = BasicPropertyInfoType182.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BasicPropertyInfo = obj_ - obj_.original_tagname_ = 'BasicPropertyInfo' -# end class ResGlobalInfoType138 - - -class CommentsType139(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType139) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType139.subclass: - return CommentsType139.subclass(*args_, **kwargs_) - else: - return CommentsType139(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType139', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType139') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType139': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType139') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType139', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType139'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType139', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType140.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType139 - - -class CommentType140(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType140) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType140.subclass: - return CommentType140.subclass(*args_, **kwargs_) - else: - return CommentType140(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_NameType143(self, value): - # Validate type NameType143, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services', 'customer comment', 'additional info'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType143' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType140', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType140') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType140': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType140') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType140', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType140'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType140', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType143(self.Name) # validate type NameType143 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType141.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' - elif nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class CommentType140 - - -class ListItemType141(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType141) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType141.subclass: - return ListItemType141.subclass(*args_, **kwargs_) - else: - return ListItemType141(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType142(self, value): - # Validate type LanguageType142, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType142_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType142_patterns_, )) - validate_LanguageType142_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType141', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType141') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType141': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType141') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType141'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType141', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType142(self.Language) # validate type LanguageType142 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType141 - - -class SpecialRequestsType144(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if SpecialRequest is None: - self.SpecialRequest = [] - else: - self.SpecialRequest = SpecialRequest - self.SpecialRequest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestsType144) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestsType144.subclass: - return SpecialRequestsType144.subclass(*args_, **kwargs_) - else: - return SpecialRequestsType144(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_SpecialRequest(self): - return self.SpecialRequest - def set_SpecialRequest(self, SpecialRequest): - self.SpecialRequest = SpecialRequest - def add_SpecialRequest(self, value): - self.SpecialRequest.append(value) - def insert_SpecialRequest_at(self, index, value): - self.SpecialRequest.insert(index, value) - def replace_SpecialRequest_at(self, index, value): - self.SpecialRequest[index] = value - def has__content(self): - if ( - self.SpecialRequest - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType144', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType144') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestsType144': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType144') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType144', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType144'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType144', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for SpecialRequest_ in self.SpecialRequest: - namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' - SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'SpecialRequest': - obj_ = SpecialRequestType145.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequest.append(obj_) - obj_.original_tagname_ = 'SpecialRequest' -# end class SpecialRequestsType144 - - -class SpecialRequestType145(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RequestCode = _cast(None, RequestCode) - self.RequestCode_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestType145) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestType145.subclass: - return SpecialRequestType145.subclass(*args_, **kwargs_) - else: - return SpecialRequestType145(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_RequestCode(self): - return self.RequestCode - def set_RequestCode(self, RequestCode): - self.RequestCode = RequestCode - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_CodeContextType148(self, value): - # Validate type CodeContextType148, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS', 'HOTEL'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType148' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType145', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType145') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestType145': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType145') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType145', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType145'): - if self.RequestCode is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType145', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RequestCode', node) - if value is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - self.RequestCode = value - self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType148(self.CodeContext) # validate type CodeContextType148 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType146.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class SpecialRequestType145 - - -class TextType146(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType146) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType146.subclass: - return TextType146.subclass(*args_, **kwargs_) - else: - return TextType146(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TextFormatType147(self, value): - # Validate type TextFormatType147, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType147' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType146', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType146') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType146': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType146') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType146'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType146', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType147(self.TextFormat) # validate type TextFormatType147 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType146 - - -class DepositPaymentsType149(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuaranteePayment is None: - self.GuaranteePayment = [] - else: - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepositPaymentsType149) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepositPaymentsType149.subclass: - return DepositPaymentsType149.subclass(*args_, **kwargs_) - else: - return DepositPaymentsType149(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def add_GuaranteePayment(self, value): - self.GuaranteePayment.append(value) - def insert_GuaranteePayment_at(self, index, value): - self.GuaranteePayment.insert(index, value) - def replace_GuaranteePayment_at(self, index, value): - self.GuaranteePayment[index] = value - def has__content(self): - if ( - self.GuaranteePayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType149', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType149') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepositPaymentsType149': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType149') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType149', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType149'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType149', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuaranteePayment_ in self.GuaranteePayment: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType150.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment.append(obj_) - obj_.original_tagname_ = 'GuaranteePayment' -# end class DepositPaymentsType149 - - -class GuaranteePaymentType150(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.GuaranteeCode = _cast(None, GuaranteeCode) - self.GuaranteeCode_nsprefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType150) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType150.subclass: - return GuaranteePaymentType150.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType150(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_GuaranteeCode(self): - return self.GuaranteeCode - def set_GuaranteeCode(self, GuaranteeCode): - self.GuaranteeCode = GuaranteeCode - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType150', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType150') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType150': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType150') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType150', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType150'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType150', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - value = find_attr_value_('GuaranteeCode', node) - if value is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - self.GuaranteeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType151.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType164.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' -# end class GuaranteePaymentType150 - - -class AcceptedPaymentsType151(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType151) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType151.subclass: - return AcceptedPaymentsType151.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType151(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def has__content(self): - if ( - self.AcceptedPayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType151', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType151') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType151': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType151') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType151', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType151'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType151', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayment is not None: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType152.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment = obj_ - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType151 - - -class AcceptedPaymentType152(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) - self.GuaranteeTypeCode_nsprefix_ = None - self.GuaranteeID = _cast(None, GuaranteeID) - self.GuaranteeID_nsprefix_ = None - self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) - self.PaymentTransactionTypeCode_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Voucher = Voucher - self.Voucher_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType152) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType152.subclass: - return AcceptedPaymentType152.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType152(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Voucher(self): - return self.Voucher - def set_Voucher(self, Voucher): - self.Voucher = Voucher - def get_GuaranteeTypeCode(self): - return self.GuaranteeTypeCode - def set_GuaranteeTypeCode(self, GuaranteeTypeCode): - self.GuaranteeTypeCode = GuaranteeTypeCode - def get_GuaranteeID(self): - return self.GuaranteeID - def set_GuaranteeID(self, GuaranteeID): - self.GuaranteeID = GuaranteeID - def get_PaymentTransactionTypeCode(self): - return self.PaymentTransactionTypeCode - def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): - self.PaymentTransactionTypeCode = PaymentTransactionTypeCode - def has__content(self): - if ( - self.PaymentCard is not None or - self.BankAcct is not None or - self.Voucher is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType152', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType152') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType152': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType152') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType152', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType152'): - if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) - if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) - if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType152', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Voucher is not None: - namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' - self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('GuaranteeTypeCode', node) - if value is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - self.GuaranteeTypeCode = value - value = find_attr_value_('GuaranteeID', node) - if value is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - self.GuaranteeID = value - value = find_attr_value_('PaymentTransactionTypeCode', node) - if value is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - self.PaymentTransactionTypeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType153.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' - elif nodeName_ == 'BankAcct': - obj_ = BankAcctType159.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Voucher': - obj_ = VoucherType162.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Voucher = obj_ - obj_.original_tagname_ = 'Voucher' -# end class AcceptedPaymentType152 - - -class PaymentCardType153(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType153) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType153.subclass: - return PaymentCardType153.subclass(*args_, **kwargs_) - else: - return PaymentCardType153(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType157(self, value): - # Validate type CardCodeType157, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType157_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType157_patterns_, )) - validate_CardCodeType157_patterns_ = [['^([A-Z]{1,2})$']] - def validate_ExpireDateType158(self, value): - # Validate type ExpireDateType158, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType158_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType158_patterns_, )) - validate_ExpireDateType158_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType153', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType153') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType153': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType153') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType153', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType153'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType153', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType157(self.CardCode) # validate type CardCodeType157 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType158(self.ExpireDate) # validate type ExpireDateType158 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType154.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType153 - - -class CardNumberType154(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.Token = _cast(None, Token) - self.Token_nsprefix_ = None - self.TokenProviderID = _cast(None, TokenProviderID) - self.TokenProviderID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType154) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType154.subclass: - return CardNumberType154.subclass(*args_, **kwargs_) - else: - return CardNumberType154(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def get_Token(self): - return self.Token - def set_Token(self, Token): - self.Token = Token - def get_TokenProviderID(self): - return self.TokenProviderID - def set_TokenProviderID(self, TokenProviderID): - self.TokenProviderID = TokenProviderID - def validate_MaskType155(self, value): - # Validate type MaskType155, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType155_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType155_patterns_, )) - validate_MaskType155_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_TokenType156(self, value): - # Validate type TokenType156, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_TokenType156_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType156_patterns_, )) - validate_TokenType156_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType154', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType154') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType154': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType154') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType154', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType154'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - if self.Token is not None and 'Token' not in already_processed: - already_processed.add('Token') - outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) - if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType154', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType155(self.Mask) # validate type MaskType155 - value = find_attr_value_('Token', node) - if value is not None and 'Token' not in already_processed: - already_processed.add('Token') - self.Token = value - self.validate_TokenType156(self.Token) # validate type TokenType156 - value = find_attr_value_('TokenProviderID', node) - if value is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - self.TokenProviderID = value - self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardNumberType154 - - -class BankAcctType159(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.validate_StringLength1to64(self.BankAcctName) - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType159) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType159.subclass: - return BankAcctType159.subclass(*args_, **kwargs_) - else: - return BankAcctType159(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType159', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType159') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType159': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType159') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType159', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType159'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType159', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'BankAcctName') - value_ = self.gds_validate_string(value_, node, 'BankAcctName') - self.BankAcctName = value_ - self.BankAcctName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.BankAcctName) - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType160.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' -# end class BankAcctType159 - - -class BankAcctNumberType160(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.PlainText = PlainText - self.validate_NumericStringLength1to19(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType160) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType160.subclass: - return BankAcctNumberType160.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType160(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def validate_MaskType161(self, value): - # Validate type MaskType161, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType161_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType161_patterns_, )) - validate_MaskType161_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType160', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType160') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType160': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType160') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType160', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType160'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType160', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType161(self.Mask) # validate type MaskType161 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type NumericStringLength1to19 - self.validate_NumericStringLength1to19(self.PlainText) -# end class BankAcctNumberType160 - - -class VoucherType162(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ElectronicIndicator = _cast(bool, ElectronicIndicator) - self.ElectronicIndicator_nsprefix_ = None - self.Identifier = _cast(None, Identifier) - self.Identifier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VoucherType162) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VoucherType162.subclass: - return VoucherType162.subclass(*args_, **kwargs_) - else: - return VoucherType162(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ElectronicIndicator(self): - return self.ElectronicIndicator - def set_ElectronicIndicator(self, ElectronicIndicator): - self.ElectronicIndicator = ElectronicIndicator - def get_Identifier(self): - return self.Identifier - def set_Identifier(self, Identifier): - self.Identifier = Identifier - def validate_ElectronicIndicatorType163(self, value): - # Validate type ElectronicIndicatorType163, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_ElectronicIndicatorType163_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType163_patterns_, )) - validate_ElectronicIndicatorType163_patterns_ = [['^(1|true)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType162', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType162') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VoucherType162': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType162') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType162', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType162'): - if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) - if self.Identifier is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType162', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ElectronicIndicator', node) - if value is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - if value in ('true', '1'): - self.ElectronicIndicator = True - elif value in ('false', '0'): - self.ElectronicIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_ElectronicIndicatorType163(self.ElectronicIndicator) # validate type ElectronicIndicatorType163 - value = find_attr_value_('Identifier', node) - if value is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - self.Identifier = value - self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class VoucherType162 - - -class AmountPercentType164(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType164) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType164.subclass: - return AmountPercentType164.subclass(*args_, **kwargs_) - else: - return AmountPercentType164(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType164', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType164') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType164': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType164') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType164', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType164'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType164', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType164 - - -class CancelPenaltiesType165(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltiesType165) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltiesType165.subclass: - return CancelPenaltiesType165.subclass(*args_, **kwargs_) - else: - return CancelPenaltiesType165(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType165', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType165') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType165': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType165') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType165', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType165'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType165', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType166.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPenaltiesType165 - - -class CancelPenaltyType166(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType166) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType166.subclass: - return CancelPenaltyType166.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType166(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType166', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType166') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType166': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType166') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType166', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType166'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType166', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType167.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType166 - - -class PenaltyDescriptionType167(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType167) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType167.subclass: - return PenaltyDescriptionType167.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType167(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType167', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType167') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType167': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType167') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType167', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType167'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType167', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class PenaltyDescriptionType167 - - -class HotelReservationIDsType168(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservationID is None: - self.HotelReservationID = [] - else: - self.HotelReservationID = HotelReservationID - self.HotelReservationID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDsType168) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDsType168.subclass: - return HotelReservationIDsType168.subclass(*args_, **kwargs_) - else: - return HotelReservationIDsType168(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservationID(self): - return self.HotelReservationID - def set_HotelReservationID(self, HotelReservationID): - self.HotelReservationID = HotelReservationID - def add_HotelReservationID(self, value): - self.HotelReservationID.append(value) - def insert_HotelReservationID_at(self, index, value): - self.HotelReservationID.insert(index, value) - def replace_HotelReservationID_at(self, index, value): - self.HotelReservationID[index] = value - def has__content(self): - if ( - self.HotelReservationID - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType168', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType168') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType168': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType168') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType168', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType168'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType168', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservationID_ in self.HotelReservationID: - namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' - HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservationID': - obj_ = HotelReservationIDType169.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationID.append(obj_) - obj_.original_tagname_ = 'HotelReservationID' -# end class HotelReservationIDsType168 - - -class HotelReservationIDType169(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResID_Type = _cast(int, ResID_Type) - self.ResID_Type_nsprefix_ = None - self.ResID_Value = _cast(None, ResID_Value) - self.ResID_Value_nsprefix_ = None - self.ResID_Source = _cast(None, ResID_Source) - self.ResID_Source_nsprefix_ = None - self.ResID_SourceContext = _cast(None, ResID_SourceContext) - self.ResID_SourceContext_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDType169) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDType169.subclass: - return HotelReservationIDType169.subclass(*args_, **kwargs_) - else: - return HotelReservationIDType169(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResID_Type(self): - return self.ResID_Type - def set_ResID_Type(self, ResID_Type): - self.ResID_Type = ResID_Type - def get_ResID_Value(self): - return self.ResID_Value - def set_ResID_Value(self, ResID_Value): - self.ResID_Value = ResID_Value - def get_ResID_Source(self): - return self.ResID_Source - def set_ResID_Source(self, ResID_Source): - self.ResID_Source = ResID_Source - def get_ResID_SourceContext(self): - return self.ResID_SourceContext - def set_ResID_SourceContext(self, ResID_SourceContext): - self.ResID_SourceContext = ResID_SourceContext - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType169', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType169') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDType169': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType169') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType169', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType169'): - if self.ResID_Type is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) - if self.ResID_Value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) - if self.ResID_Source is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) - if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType169', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ResID_Type', node) - if value is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') - if self.ResID_Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 - value = find_attr_value_('ResID_Value', node) - if value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - self.ResID_Value = value - self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 - value = find_attr_value_('ResID_Source', node) - if value is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - self.ResID_Source = value - self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 - value = find_attr_value_('ResID_SourceContext', node) - if value is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - self.ResID_SourceContext = value - self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelReservationIDType169 - - -class ProfilesType170(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType170) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType170.subclass: - return ProfilesType170.subclass(*args_, **kwargs_) - else: - return ProfilesType170(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType170', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType170') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType170': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType170') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType170', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType170'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType170', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType171.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType170 - - -class ProfileInfoType171(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType171) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType171.subclass: - return ProfileInfoType171.subclass(*args_, **kwargs_) - else: - return ProfileInfoType171(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType171', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType171') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType171': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType171') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType171', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType171'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType171', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType172.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType171 - - -class ProfileType172(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileType = _cast(None, ProfileType) - self.ProfileType_nsprefix_ = None - self.CompanyInfo = CompanyInfo - self.CompanyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType172) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType172.subclass: - return ProfileType172.subclass(*args_, **kwargs_) - else: - return ProfileType172(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyInfo(self): - return self.CompanyInfo - def set_CompanyInfo(self, CompanyInfo): - self.CompanyInfo = CompanyInfo - def get_ProfileType(self): - return self.ProfileType - def set_ProfileType(self, ProfileType): - self.ProfileType = ProfileType - def validate_ProfileTypeType181(self, value): - # Validate type ProfileTypeType181, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['4'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType181' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CompanyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType172', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType172') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType172': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType172') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType172', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType172'): - if self.ProfileType is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType172', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyInfo is not None: - namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' - self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ProfileType', node) - if value is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - self.ProfileType = value - self.validate_ProfileTypeType181(self.ProfileType) # validate type ProfileTypeType181 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyInfo': - obj_ = CompanyInfoType173.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyInfo = obj_ - obj_.original_tagname_ = 'CompanyInfo' -# end class ProfileType172 - - -class CompanyInfoType173(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - self.AddressInfo = AddressInfo - self.AddressInfo_nsprefix_ = None - self.TelephoneInfo = TelephoneInfo - self.TelephoneInfo_nsprefix_ = None - self.Email = Email - self.validate_def_nonempty_string(self.Email) - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyInfoType173) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyInfoType173.subclass: - return CompanyInfoType173.subclass(*args_, **kwargs_) - else: - return CompanyInfoType173(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_AddressInfo(self): - return self.AddressInfo - def set_AddressInfo(self, AddressInfo): - self.AddressInfo = AddressInfo - def get_TelephoneInfo(self): - return self.TelephoneInfo - def set_TelephoneInfo(self, TelephoneInfo): - self.TelephoneInfo = TelephoneInfo - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.CompanyName is not None or - self.AddressInfo is not None or - self.TelephoneInfo is not None or - self.Email is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType173', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType173') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyInfoType173': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType173') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType173', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType173'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType173', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - if self.AddressInfo is not None: - namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' - self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) - if self.TelephoneInfo is not None: - namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' - self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyName': - obj_ = CompanyNameType174.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' - elif nodeName_ == 'AddressInfo': - obj_ = AddressInfoType175.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AddressInfo = obj_ - obj_.original_tagname_ = 'AddressInfo' - elif nodeName_ == 'TelephoneInfo': - obj_ = TelephoneInfoType178.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TelephoneInfo = obj_ - obj_.original_tagname_ = 'TelephoneInfo' - elif nodeName_ == 'Email': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Email') - value_ = self.gds_validate_string(value_, node, 'Email') - self.Email = value_ - self.Email_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Email) -# end class CompanyInfoType173 - - -class CompanyNameType174(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType174) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType174.subclass: - return CompanyNameType174.subclass(*args_, **kwargs_) - else: - return CompanyNameType174(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType174', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType174') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType174': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType174') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType174'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType174', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType174 - - -class AddressInfoType175(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressInfoType175) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressInfoType175.subclass: - return AddressInfoType175.subclass(*args_, **kwargs_) - else: - return AddressInfoType175(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType175', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType175') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressInfoType175': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType175') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType175', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType175'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType175', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType176.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressInfoType175 - - -class CountryNameType176(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType176) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType176.subclass: - return CountryNameType176.subclass(*args_, **kwargs_) - else: - return CountryNameType176(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType177(self, value): - # Validate type CodeType177, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType177_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType177_patterns_, )) - validate_CodeType177_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType176', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType176') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType176': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType176') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType176', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType176'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType176', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType177(self.Code) # validate type CodeType177 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType176 - - -class TelephoneInfoType178(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneInfoType178) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneInfoType178.subclass: - return TelephoneInfoType178.subclass(*args_, **kwargs_) - else: - return TelephoneInfoType178(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType179(self, value): - # Validate type PhoneTechTypeType179, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType179_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType179_patterns_, )) - validate_PhoneTechTypeType179_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType180(self, value): - # Validate type PhoneNumberType180, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType180_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType180_patterns_, )) - validate_PhoneNumberType180_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType178', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType178') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneInfoType178': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType178') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType178', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType178'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType178', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType179(self.PhoneTechType) # validate type PhoneTechTypeType179 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType180(self.PhoneNumber) # validate type PhoneNumberType180 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneInfoType178 - - -class BasicPropertyInfoType182(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BasicPropertyInfoType182) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BasicPropertyInfoType182.subclass: - return BasicPropertyInfoType182.subclass(*args_, **kwargs_) - else: - return BasicPropertyInfoType182(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType182', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType182') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType182': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType182') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType182', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType182'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType182', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BasicPropertyInfoType182 - - -class WarningsType184(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType184) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType184.subclass: - return WarningsType184.subclass(*args_, **kwargs_) - else: - return WarningsType184(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType184', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType184') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType184': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType184') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType184', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType184'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType184', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType185.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType184 - - -class WarningType185(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType185) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType185.subclass: - return WarningType185.subclass(*args_, **kwargs_) - else: - return WarningType185(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType185', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType185') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType185': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType185') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType185'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType185', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType185 - - -class NotifDetailsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelNotifReport=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelNotifReport = HotelNotifReport - self.HotelNotifReport_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, NotifDetailsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if NotifDetailsType.subclass: - return NotifDetailsType.subclass(*args_, **kwargs_) - else: - return NotifDetailsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelNotifReport(self): - return self.HotelNotifReport - def set_HotelNotifReport(self, HotelNotifReport): - self.HotelNotifReport = HotelNotifReport - def has__content(self): - if ( - self.HotelNotifReport is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='NotifDetailsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('NotifDetailsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'NotifDetailsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NotifDetailsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NotifDetailsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NotifDetailsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='NotifDetailsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelNotifReport is not None: - namespaceprefix_ = self.HotelNotifReport_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelNotifReport_nsprefix_) else '' - self.HotelNotifReport.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelNotifReport', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelNotifReport': - obj_ = HotelNotifReportType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelNotifReport = obj_ - obj_.original_tagname_ = 'HotelNotifReport' -# end class NotifDetailsType - - -class HotelNotifReportType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservations=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelReservations = HotelReservations - self.HotelReservations_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelNotifReportType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelNotifReportType.subclass: - return HotelNotifReportType.subclass(*args_, **kwargs_) - else: - return HotelNotifReportType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservations(self): - return self.HotelReservations - def set_HotelReservations(self, HotelReservations): - self.HotelReservations = HotelReservations - def has__content(self): - if ( - self.HotelReservations is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelNotifReportType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelNotifReportType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelNotifReportType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelNotifReportType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelNotifReportType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelNotifReportType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelNotifReportType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelReservations is not None: - namespaceprefix_ = self.HotelReservations_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservations_nsprefix_) else '' - self.HotelReservations.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservations', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservations': - obj_ = HotelReservationsType186.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservations = obj_ - obj_.original_tagname_ = 'HotelReservations' -# end class HotelNotifReportType - - -class HotelReservationsType186(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservation=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservation is None: - self.HotelReservation = [] - else: - self.HotelReservation = HotelReservation - self.HotelReservation_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationsType186) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationsType186.subclass: - return HotelReservationsType186.subclass(*args_, **kwargs_) - else: - return HotelReservationsType186(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservation(self): - return self.HotelReservation - def set_HotelReservation(self, HotelReservation): - self.HotelReservation = HotelReservation - def add_HotelReservation(self, value): - self.HotelReservation.append(value) - def insert_HotelReservation_at(self, index, value): - self.HotelReservation.insert(index, value) - def replace_HotelReservation_at(self, index, value): - self.HotelReservation[index] = value - def has__content(self): - if ( - self.HotelReservation - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType186', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationsType186') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationsType186': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationsType186') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationsType186', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationsType186'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationsType186', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservation_ in self.HotelReservation: - namespaceprefix_ = self.HotelReservation_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservation_nsprefix_) else '' - HotelReservation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservation', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservation': - obj_ = HotelReservationType187.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservation.append(obj_) - obj_.original_tagname_ = 'HotelReservation' -# end class HotelReservationsType186 - - -class HotelReservationType187(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, UniqueID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType187) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType187.subclass: - return HotelReservationType187.subclass(*args_, **kwargs_) - else: - return HotelReservationType187(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def has__content(self): - if ( - self.UniqueID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType187', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType187') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType187': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType187') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType187', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType187'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType187', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType188.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' -# end class HotelReservationType187 - - -class UniqueIDType188(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType188) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType188.subclass: - return UniqueIDType188.subclass(*args_, **kwargs_) - else: - return UniqueIDType188(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType189(self, value): - # Validate type TypeType189, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType189' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType188', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType188') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType188': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType188') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType188', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType188'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType188', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType189(self.Type) # validate type TypeType189 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType188 - - -class ErrorsType190(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType190) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType190.subclass: - return ErrorsType190.subclass(*args_, **kwargs_) - else: - return ErrorsType190(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType190', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType190') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType190': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType190') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType190', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType190'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType190', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType191.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType190 - - -class ErrorType191(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType191) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType191.subclass: - return ErrorType191.subclass(*args_, **kwargs_) - else: - return ErrorType191(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType192(self, value): - # Validate type TypeType192, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType192' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType191', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType191') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType191': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType191') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType191'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType191', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType192(self.Type) # validate type TypeType192 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType191 - - -class WarningsType193(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType193) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType193.subclass: - return WarningsType193.subclass(*args_, **kwargs_) - else: - return WarningsType193(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType193', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType193') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType193': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType193') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType193', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType193'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType193', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType194.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType193 - - -class WarningType194(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType194) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType194.subclass: - return WarningType194.subclass(*args_, **kwargs_) - else: - return WarningType194(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType194', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType194') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType194': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType194') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType194'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType194', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType194 - - -class HotelDescriptiveContentsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelDescriptiveContent = HotelDescriptiveContent - self.HotelDescriptiveContent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentsType.subclass: - return HotelDescriptiveContentsType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveContent(self): - return self.HotelDescriptiveContent - def set_HotelDescriptiveContent(self, HotelDescriptiveContent): - self.HotelDescriptiveContent = HotelDescriptiveContent - def has__content(self): - if ( - self.HotelDescriptiveContent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveContent is not None: - namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' - self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveContent': - obj_ = HotelDescriptiveContentType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContent = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContent' -# end class HotelDescriptiveContentsType - - -class HotelDescriptiveContentType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCityCode = _cast(None, HotelCityCode) - self.HotelCityCode_nsprefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.AreaID = _cast(None, AreaID) - self.AreaID_nsprefix_ = None - self.HotelInfo = HotelInfo - self.HotelInfo_nsprefix_ = None - self.FacilityInfo = FacilityInfo - self.FacilityInfo_nsprefix_ = None - self.Policies = Policies - self.Policies_nsprefix_ = None - self.AffiliationInfo = AffiliationInfo - self.AffiliationInfo_nsprefix_ = None - self.ContactInfos = ContactInfos - self.ContactInfos_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentType.subclass: - return HotelDescriptiveContentType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelInfo(self): - return self.HotelInfo - def set_HotelInfo(self, HotelInfo): - self.HotelInfo = HotelInfo - def get_FacilityInfo(self): - return self.FacilityInfo - def set_FacilityInfo(self, FacilityInfo): - self.FacilityInfo = FacilityInfo - def get_Policies(self): - return self.Policies - def set_Policies(self, Policies): - self.Policies = Policies - def get_AffiliationInfo(self): - return self.AffiliationInfo - def set_AffiliationInfo(self, AffiliationInfo): - self.AffiliationInfo = AffiliationInfo - def get_ContactInfos(self): - return self.ContactInfos - def set_ContactInfos(self, ContactInfos): - self.ContactInfos = ContactInfos - def get_HotelCityCode(self): - return self.HotelCityCode - def set_HotelCityCode(self, HotelCityCode): - self.HotelCityCode = HotelCityCode - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def get_AreaID(self): - return self.AreaID - def set_AreaID(self, AreaID): - self.AreaID = AreaID - def validate_StringLength1to8(self, value): - # Validate type StringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_NumericStringLength1to8(self, value): - # Validate type NumericStringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to8_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) - validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - self.HotelInfo is not None or - self.FacilityInfo is not None or - self.Policies is not None or - self.AffiliationInfo is not None or - self.ContactInfos is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType'): - if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - if self.AreaID is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelInfo is not None: - namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' - self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) - if self.FacilityInfo is not None: - namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' - self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) - if self.Policies is not None: - namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' - self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) - if self.AffiliationInfo is not None: - namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' - self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) - if self.ContactInfos is not None: - namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' - self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCityCode', node) - if value is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - self.HotelCityCode = value - self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - value = find_attr_value_('AreaID', node) - if value is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - self.AreaID = value - self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelInfo': - obj_ = HotelInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelInfo = obj_ - obj_.original_tagname_ = 'HotelInfo' - elif nodeName_ == 'FacilityInfo': - obj_ = FacilityInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.FacilityInfo = obj_ - obj_.original_tagname_ = 'FacilityInfo' - elif nodeName_ == 'Policies': - obj_ = PoliciesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policies = obj_ - obj_.original_tagname_ = 'Policies' - elif nodeName_ == 'AffiliationInfo': - obj_ = AffiliationInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AffiliationInfo = obj_ - obj_.original_tagname_ = 'AffiliationInfo' - elif nodeName_ == 'ContactInfos': - obj_ = ContactInfosType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfos = obj_ - obj_.original_tagname_ = 'ContactInfos' -# end class HotelDescriptiveContentType - - -class HotelInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelStatusCode = _cast(int, HotelStatusCode) - self.HotelStatusCode_nsprefix_ = None - self.CategoryCodes = CategoryCodes - self.CategoryCodes_nsprefix_ = None - self.Descriptions = Descriptions - self.Descriptions_nsprefix_ = None - self.Position = Position - self.Position_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelInfoType.subclass: - return HotelInfoType.subclass(*args_, **kwargs_) - else: - return HotelInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CategoryCodes(self): - return self.CategoryCodes - def set_CategoryCodes(self, CategoryCodes): - self.CategoryCodes = CategoryCodes - def get_Descriptions(self): - return self.Descriptions - def set_Descriptions(self, Descriptions): - self.Descriptions = Descriptions - def get_Position(self): - return self.Position - def set_Position(self, Position): - self.Position = Position - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_HotelStatusCode(self): - return self.HotelStatusCode - def set_HotelStatusCode(self, HotelStatusCode): - self.HotelStatusCode = HotelStatusCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CategoryCodes is not None or - self.Descriptions is not None or - self.Position is not None or - self.Services is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType'): - if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CategoryCodes is not None: - namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' - self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) - if self.Descriptions is not None: - namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' - self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) - if self.Position is not None: - namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' - self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelStatusCode', node) - if value is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') - if self.HotelStatusCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CategoryCodes': - obj_ = CategoryCodesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CategoryCodes = obj_ - obj_.original_tagname_ = 'CategoryCodes' - elif nodeName_ == 'Descriptions': - obj_ = DescriptionsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Descriptions = obj_ - obj_.original_tagname_ = 'Descriptions' - elif nodeName_ == 'Position': - obj_ = PositionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Position = obj_ - obj_.original_tagname_ = 'Position' - elif nodeName_ == 'Services': - obj_ = ServicesType206.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' -# end class HotelInfoType - - -class CategoryCodesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCategory = HotelCategory - self.HotelCategory_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CategoryCodesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CategoryCodesType.subclass: - return CategoryCodesType.subclass(*args_, **kwargs_) - else: - return CategoryCodesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCategory(self): - return self.HotelCategory - def set_HotelCategory(self, HotelCategory): - self.HotelCategory = HotelCategory - def has__content(self): - if ( - self.HotelCategory is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CategoryCodesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelCategory is not None: - namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' - self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelCategory': - obj_ = HotelCategoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelCategory = obj_ - obj_.original_tagname_ = 'HotelCategory' -# end class CategoryCodesType - - -class HotelCategoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeDetail = _cast(None, CodeDetail) - self.CodeDetail_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelCategoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelCategoryType.subclass: - return HotelCategoryType.subclass(*args_, **kwargs_) - else: - return HotelCategoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeDetail(self): - return self.CodeDetail - def set_CodeDetail(self, CodeDetail): - self.CodeDetail = CodeDetail - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelCategoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeDetail is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeDetail', node) - if value is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - self.CodeDetail = value - self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelCategoryType - - -class DescriptionsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionsType.subclass: - return DescriptionsType.subclass(*args_, **kwargs_) - else: - return DescriptionsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def has__content(self): - if ( - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class DescriptionsType - - -class MultimediaDescriptionsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType.subclass: - return MultimediaDescriptionsType.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType - - -class MultimediaDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - self.VideoItems = VideoItems - self.VideoItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType.subclass: - return MultimediaDescriptionType.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_VideoItems(self): - return self.VideoItems - def set_VideoItems(self, VideoItems): - self.VideoItems = VideoItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType(self, value): - # Validate type InfoCodeType, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 17, 23, 24] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType_patterns_, )) - validate_InfoCodeType_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None or - self.VideoItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - if self.VideoItems is not None: - namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' - self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType(self.InfoCode) # validate type InfoCodeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' - elif nodeName_ == 'VideoItems': - obj_ = VideoItemsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItems = obj_ - obj_.original_tagname_ = 'VideoItems' -# end class MultimediaDescriptionType - - -class TextItemsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if TextItem is None: - self.TextItem = [] - else: - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType.subclass: - return TextItemsType.subclass(*args_, **kwargs_) - else: - return TextItemsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def add_TextItem(self, value): - self.TextItem.append(value) - def insert_TextItem_at(self, index, value): - self.TextItem.insert(index, value) - def replace_TextItem_at(self, index, value): - self.TextItem[index] = value - def has__content(self): - if ( - self.TextItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for TextItem_ in self.TextItem: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem.append(obj_) - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType - - -class TextItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType.subclass: - return TextItemType.subclass(*args_, **kwargs_) - else: - return TextItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType'): - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType - - -class DescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType.subclass: - return DescriptionType.subclass(*args_, **kwargs_) - else: - return DescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType195(self, value): - # Validate type TextFormatType195, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType195' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType196(self, value): - # Validate type LanguageType196, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType196_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType196_patterns_, )) - validate_LanguageType196_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType195(self.TextFormat) # validate type TextFormatType195 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType196(self.Language) # validate type LanguageType196 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType - - -class ImageItemsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType.subclass: - return ImageItemsType.subclass(*args_, **kwargs_) - else: - return ImageItemsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType - - -class ImageItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType.subclass: - return ImageItemType.subclass(*args_, **kwargs_) - else: - return ImageItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType200(self, value): - # Validate type CategoryType200, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 15, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType200' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType200_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType200_patterns_, )) - validate_CategoryType200_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType200(self.Category) # validate type CategoryType200 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType197.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType - - -class ImageFormatType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.ApplicableEnd = _cast(None, ApplicableEnd) - self.ApplicableEnd_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType.subclass: - return ImageFormatType.subclass(*args_, **kwargs_) - else: - return ImageFormatType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def get_ApplicableEnd(self): - return self.ApplicableEnd - def set_ApplicableEnd(self, ApplicableEnd): - self.ApplicableEnd = ApplicableEnd - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType(self, value): - # Validate type ApplicableStartType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType_patterns_, )) - validate_ApplicableStartType_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def validate_ApplicableEndType(self, value): - # Validate type ApplicableEndType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableEndType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType_patterns_, )) - validate_ApplicableEndType_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType(self.ApplicableStart) # validate type ApplicableStartType - value = find_attr_value_('ApplicableEnd', node) - if value is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - self.ApplicableEnd = value - self.validate_ApplicableEndType(self.ApplicableEnd) # validate type ApplicableEndType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType - - -class DescriptionType197(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType197) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType197.subclass: - return DescriptionType197.subclass(*args_, **kwargs_) - else: - return DescriptionType197(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType198(self, value): - # Validate type TextFormatType198, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType198' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType199(self, value): - # Validate type LanguageType199, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType199_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType199_patterns_, )) - validate_LanguageType199_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType197', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType197') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType197': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType197') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType197'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType197', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType198(self.TextFormat) # validate type TextFormatType198 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType199(self.Language) # validate type LanguageType199 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType197 - - -class VideoItemsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if VideoItem is None: - self.VideoItem = [] - else: - self.VideoItem = VideoItem - self.VideoItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemsType.subclass: - return VideoItemsType.subclass(*args_, **kwargs_) - else: - return VideoItemsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoItem(self): - return self.VideoItem - def set_VideoItem(self, VideoItem): - self.VideoItem = VideoItem - def add_VideoItem(self, value): - self.VideoItem.append(value) - def insert_VideoItem_at(self, index, value): - self.VideoItem.insert(index, value) - def replace_VideoItem_at(self, index, value): - self.VideoItem[index] = value - def has__content(self): - if ( - self.VideoItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for VideoItem_ in self.VideoItem: - namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' - VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoItem': - obj_ = VideoItemType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItem.append(obj_) - obj_.original_tagname_ = 'VideoItem' -# end class VideoItemsType - - -class VideoItemType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.VideoFormat = VideoFormat - self.VideoFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemType.subclass: - return VideoItemType.subclass(*args_, **kwargs_) - else: - return VideoItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoFormat(self): - return self.VideoFormat - def set_VideoFormat(self, VideoFormat): - self.VideoFormat = VideoFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType205(self, value): - # Validate type CategoryType205, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 20, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType205' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType205_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType205_patterns_, )) - validate_CategoryType205_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.VideoFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.VideoFormat is not None: - namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' - self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType205(self.Category) # validate type CategoryType205 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoFormat': - obj_ = VideoFormatType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoFormat = obj_ - obj_.original_tagname_ = 'VideoFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType202.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class VideoItemType - - -class VideoFormatType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoFormatType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoFormatType.subclass: - return VideoFormatType.subclass(*args_, **kwargs_) - else: - return VideoFormatType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType201(self, value): - # Validate type ApplicableStartType201, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType201_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType201_patterns_, )) - validate_ApplicableStartType201_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoFormatType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType201(self.ApplicableStart) # validate type ApplicableStartType201 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class VideoFormatType - - -class DescriptionType202(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType202) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType202.subclass: - return DescriptionType202.subclass(*args_, **kwargs_) - else: - return DescriptionType202(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType203(self, value): - # Validate type TextFormatType203, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType203' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType204(self, value): - # Validate type LanguageType204, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType204_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType204_patterns_, )) - validate_LanguageType204_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType202', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType202') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType202': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType202') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType202'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType202', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType203(self.TextFormat) # validate type TextFormatType203 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType204(self.Language) # validate type LanguageType204 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType202 - - -class PositionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Altitude = _cast(float, Altitude) - self.Altitude_nsprefix_ = None - self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) - self.AltitudeUnitOfMeasureCode_nsprefix_ = None - self.Latitude = _cast(float, Latitude) - self.Latitude_nsprefix_ = None - self.Longitude = _cast(float, Longitude) - self.Longitude_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PositionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PositionType.subclass: - return PositionType.subclass(*args_, **kwargs_) - else: - return PositionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Altitude(self): - return self.Altitude - def set_Altitude(self, Altitude): - self.Altitude = Altitude - def get_AltitudeUnitOfMeasureCode(self): - return self.AltitudeUnitOfMeasureCode - def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): - self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode - def get_Latitude(self): - return self.Latitude - def set_Latitude(self, Latitude): - self.Latitude = Latitude - def get_Longitude(self): - return self.Longitude - def set_Longitude(self, Longitude): - self.Longitude = Longitude - def validate_AltitudeUnitOfMeasureCodeType(self, value): - # Validate type AltitudeUnitOfMeasureCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PositionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType'): - if self.Altitude is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) - if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) - if self.Latitude is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) - if self.Longitude is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Altitude', node) - if value is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - value = self.gds_parse_decimal(value, node, 'Altitude') - self.Altitude = value - value = find_attr_value_('AltitudeUnitOfMeasureCode', node) - if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - self.AltitudeUnitOfMeasureCode = value - self.validate_AltitudeUnitOfMeasureCodeType(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType - value = find_attr_value_('Latitude', node) - if value is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - value = self.gds_parse_decimal(value, node, 'Latitude') - self.Latitude = value - value = find_attr_value_('Longitude', node) - if value is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - value = self.gds_parse_decimal(value, node, 'Longitude') - self.Longitude = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PositionType - - -class ServicesType206(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType206) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType206.subclass: - return ServicesType206.subclass(*args_, **kwargs_) - else: - return ServicesType206(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType206', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType206') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType206': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType206') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType206', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType206'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType206', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType207.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType206 - - -class ServiceType207(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MealPlanCode = _cast(None, MealPlanCode) - self.MealPlanCode_nsprefix_ = None - self.ProximityCode = _cast(int, ProximityCode) - self.ProximityCode_nsprefix_ = None - self.Included = _cast(bool, Included) - self.Included_nsprefix_ = None - self.Features = Features - self.Features_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType207) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType207.subclass: - return ServiceType207.subclass(*args_, **kwargs_) - else: - return ServiceType207(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Features(self): - return self.Features - def set_Features(self, Features): - self.Features = Features - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MealPlanCode(self): - return self.MealPlanCode - def set_MealPlanCode(self, MealPlanCode): - self.MealPlanCode = MealPlanCode - def get_ProximityCode(self): - return self.ProximityCode - def set_ProximityCode(self, ProximityCode): - self.ProximityCode = ProximityCode - def get_Included(self): - return self.Included - def set_Included(self, Included): - self.Included = Included - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def validate_MealPlanCodeType(self, value): - # Validate type MealPlanCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.Features is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType207', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType207') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType207': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType207') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType207', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType207'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) - if self.ProximityCode is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) - if self.Included is not None and 'Included' not in already_processed: - already_processed.add('Included') - outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType207', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Features is not None: - namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' - self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code - value = find_attr_value_('MealPlanCode', node) - if value is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - self.MealPlanCode = value - self.validate_MealPlanCodeType(self.MealPlanCode) # validate type MealPlanCodeType - value = find_attr_value_('ProximityCode', node) - if value is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') - if self.ProximityCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 - value = find_attr_value_('Included', node) - if value is not None and 'Included' not in already_processed: - already_processed.add('Included') - if value in ('true', '1'): - self.Included = True - elif value in ('false', '0'): - self.Included = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Included) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Features': - obj_ = FeaturesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Features = obj_ - obj_.original_tagname_ = 'Features' -# end class ServiceType207 - - -class FeaturesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Feature=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Feature is None: - self.Feature = [] - else: - self.Feature = Feature - self.Feature_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeaturesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeaturesType.subclass: - return FeaturesType.subclass(*args_, **kwargs_) - else: - return FeaturesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Feature(self): - return self.Feature - def set_Feature(self, Feature): - self.Feature = Feature - def add_Feature(self, value): - self.Feature.append(value) - def insert_Feature_at(self, index, value): - self.Feature.insert(index, value) - def replace_Feature_at(self, index, value): - self.Feature[index] = value - def has__content(self): - if ( - self.Feature - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeaturesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Feature_ in self.Feature: - namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' - Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Feature': - obj_ = FeatureType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Feature.append(obj_) - obj_.original_tagname_ = 'Feature' -# end class FeaturesType - - -class FeatureType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AccessibleCode = _cast(int, AccessibleCode) - self.AccessibleCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeatureType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeatureType.subclass: - return FeatureType.subclass(*args_, **kwargs_) - else: - return FeatureType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AccessibleCode(self): - return self.AccessibleCode - def set_AccessibleCode(self, AccessibleCode): - self.AccessibleCode = AccessibleCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeatureType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType'): - if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AccessibleCode', node) - if value is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') - if self.AccessibleCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class FeatureType - - -class FacilityInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestRooms = GuestRooms - self.GuestRooms_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FacilityInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FacilityInfoType.subclass: - return FacilityInfoType.subclass(*args_, **kwargs_) - else: - return FacilityInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRooms(self): - return self.GuestRooms - def set_GuestRooms(self, GuestRooms): - self.GuestRooms = GuestRooms - def has__content(self): - if ( - self.GuestRooms is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FacilityInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestRooms is not None: - namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' - self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRooms': - obj_ = GuestRoomsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRooms = obj_ - obj_.original_tagname_ = 'GuestRooms' -# end class FacilityInfoType - - -class GuestRoomsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestRoom is None: - self.GuestRoom = [] - else: - self.GuestRoom = GuestRoom - self.GuestRoom_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomsType.subclass: - return GuestRoomsType.subclass(*args_, **kwargs_) - else: - return GuestRoomsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRoom(self): - return self.GuestRoom - def set_GuestRoom(self, GuestRoom): - self.GuestRoom = GuestRoom - def add_GuestRoom(self, value): - self.GuestRoom.append(value) - def insert_GuestRoom_at(self, index, value): - self.GuestRoom.insert(index, value) - def replace_GuestRoom_at(self, index, value): - self.GuestRoom[index] = value - def has__content(self): - if ( - self.GuestRoom - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestRoom_ in self.GuestRoom: - namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' - GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRoom': - obj_ = GuestRoomType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRoom.append(obj_) - obj_.original_tagname_ = 'GuestRoom' -# end class GuestRoomsType - - -class GuestRoomType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) - self.MaxChildOccupancy_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.TypeRoom = TypeRoom - self.TypeRoom_nsprefix_ = None - self.Amenities = Amenities - self.Amenities_nsprefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomType.subclass: - return GuestRoomType.subclass(*args_, **kwargs_) - else: - return GuestRoomType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TypeRoom(self): - return self.TypeRoom - def set_TypeRoom(self, TypeRoom): - self.TypeRoom = TypeRoom - def get_Amenities(self): - return self.Amenities - def set_Amenities(self, Amenities): - self.Amenities = Amenities - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxChildOccupancy(self): - return self.MaxChildOccupancy - def set_MaxChildOccupancy(self, MaxChildOccupancy): - self.MaxChildOccupancy = MaxChildOccupancy - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TypeRoom is not None or - self.Amenities is not None or - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TypeRoom is not None: - namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' - self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) - if self.Amenities is not None: - namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' - self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MaxChildOccupancy', node) - if value is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') - if self.MaxChildOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TypeRoom': - obj_ = TypeRoomType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TypeRoom = obj_ - obj_.original_tagname_ = 'TypeRoom' - elif nodeName_ == 'Amenities': - obj_ = AmenitiesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenities = obj_ - obj_.original_tagname_ = 'Amenities' - elif nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType209.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class GuestRoomType - - -class TypeRoomType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StandardOccupancy = _cast(int, StandardOccupancy) - self.StandardOccupancy_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomID = _cast(None, RoomID) - self.RoomID_nsprefix_ = None - self.Size = _cast(int, Size) - self.Size_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TypeRoomType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TypeRoomType.subclass: - return TypeRoomType.subclass(*args_, **kwargs_) - else: - return TypeRoomType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StandardOccupancy(self): - return self.StandardOccupancy - def set_StandardOccupancy(self, StandardOccupancy): - self.StandardOccupancy = StandardOccupancy - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomID(self): - return self.RoomID - def set_RoomID(self, RoomID): - self.RoomID = RoomID - def get_Size(self): - return self.Size - def set_Size(self, Size): - self.Size = Size - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RoomTypeType208(self, value): - # Validate type RoomTypeType208, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType208' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TypeRoomType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType'): - if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomID is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) - if self.Size is not None and 'Size' not in already_processed: - already_processed.add('Size') - outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StandardOccupancy', node) - if value is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') - if self.StandardOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomID', node) - if value is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - self.RoomID = value - self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 - value = find_attr_value_('Size', node) - if value is not None and 'Size' not in already_processed: - already_processed.add('Size') - self.Size = self.gds_parse_integer(value, node, 'Size') - if self.Size < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType208(self.RoomType) # validate type RoomTypeType208 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TypeRoomType - - -class AmenitiesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Amenity is None: - self.Amenity = [] - else: - self.Amenity = Amenity - self.Amenity_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenitiesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenitiesType.subclass: - return AmenitiesType.subclass(*args_, **kwargs_) - else: - return AmenitiesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amenity(self): - return self.Amenity - def set_Amenity(self, Amenity): - self.Amenity = Amenity - def add_Amenity(self, value): - self.Amenity.append(value) - def insert_Amenity_at(self, index, value): - self.Amenity.insert(index, value) - def replace_Amenity_at(self, index, value): - self.Amenity[index] = value - def has__content(self): - if ( - self.Amenity - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenitiesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Amenity_ in self.Amenity: - namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' - Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Amenity': - obj_ = AmenityType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenity.append(obj_) - obj_.original_tagname_ = 'Amenity' -# end class AmenitiesType - - -class AmenityType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomAmenityCode = _cast(None, RoomAmenityCode) - self.RoomAmenityCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenityType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenityType.subclass: - return AmenityType.subclass(*args_, **kwargs_) - else: - return AmenityType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomAmenityCode(self): - return self.RoomAmenityCode - def set_RoomAmenityCode(self, RoomAmenityCode): - self.RoomAmenityCode = RoomAmenityCode - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenityType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType'): - if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomAmenityCode', node) - if value is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - self.RoomAmenityCode = value - self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmenityType - - -class MultimediaDescriptionsType209(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType209) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType209.subclass: - return MultimediaDescriptionsType209.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType209(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType209', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType209') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType209': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType209') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType209', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType209'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType209', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType210.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType209 - - -class MultimediaDescriptionType210(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType210) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType210.subclass: - return MultimediaDescriptionType210.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType210(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType222(self, value): - # Validate type InfoCodeType222, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 23, 25] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType222' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType222_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType222_patterns_, )) - validate_InfoCodeType222_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType210', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType210') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType210': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType210') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType210', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType210'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType210', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType222(self.InfoCode) # validate type InfoCodeType222 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType211.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType216.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' -# end class MultimediaDescriptionType210 - - -class TextItemsType211(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType211) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType211.subclass: - return TextItemsType211.subclass(*args_, **kwargs_) - else: - return TextItemsType211(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def has__content(self): - if ( - self.TextItem is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType211', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType211') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType211': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType211') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType211', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType211'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType211', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItem is not None: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType212.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem = obj_ - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType211 - - -class TextItemType212(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType212) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType212.subclass: - return TextItemType212.subclass(*args_, **kwargs_) - else: - return TextItemType212(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType212', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType212') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType212': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType212') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType212', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType212'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType212', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType213.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType212 - - -class DescriptionType213(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType213) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType213.subclass: - return DescriptionType213.subclass(*args_, **kwargs_) - else: - return DescriptionType213(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType214(self, value): - # Validate type TextFormatType214, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType214' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType215(self, value): - # Validate type LanguageType215, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType215_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType215_patterns_, )) - validate_LanguageType215_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType213', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType213') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType213': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType213') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType213'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType213', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType214(self.TextFormat) # validate type TextFormatType214 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType215(self.Language) # validate type LanguageType215 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType213 - - -class ImageItemsType216(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType216) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType216.subclass: - return ImageItemsType216.subclass(*args_, **kwargs_) - else: - return ImageItemsType216(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType216', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType216') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType216': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType216') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType216', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType216'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType216', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType217.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType216 - - -class ImageItemType217(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType217) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType217.subclass: - return ImageItemType217.subclass(*args_, **kwargs_) - else: - return ImageItemType217(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType217', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType217') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType217': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType217') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType217', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType217'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType217', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType218.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType219.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType217 - - -class ImageFormatType218(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType218) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType218.subclass: - return ImageFormatType218.subclass(*args_, **kwargs_) - else: - return ImageFormatType218(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType218', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType218') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType218': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType218') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType218', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType218'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType218', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType218 - - -class DescriptionType219(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType219) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType219.subclass: - return DescriptionType219.subclass(*args_, **kwargs_) - else: - return DescriptionType219(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType220(self, value): - # Validate type TextFormatType220, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType220' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType221(self, value): - # Validate type LanguageType221, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType221_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType221_patterns_, )) - validate_LanguageType221_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType219', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType219') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType219': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType219') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType219'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType219', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType220(self.TextFormat) # validate type TextFormatType220 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType221(self.Language) # validate type LanguageType221 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType219 - - -class PoliciesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Policy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Policy is None: - self.Policy = [] - else: - self.Policy = Policy - self.Policy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PoliciesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PoliciesType.subclass: - return PoliciesType.subclass(*args_, **kwargs_) - else: - return PoliciesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Policy(self): - return self.Policy - def set_Policy(self, Policy): - self.Policy = Policy - def add_Policy(self, value): - self.Policy.append(value) - def insert_Policy_at(self, index, value): - self.Policy.insert(index, value) - def replace_Policy_at(self, index, value): - self.Policy[index] = value - def has__content(self): - if ( - self.Policy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PoliciesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Policy_ in self.Policy: - namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' - Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Policy': - obj_ = PolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policy.append(obj_) - obj_.original_tagname_ = 'Policy' -# end class PoliciesType - - -class PolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPolicy = CancelPolicy - self.CancelPolicy_nsprefix_ = None - self.CheckoutCharges = CheckoutCharges - self.CheckoutCharges_nsprefix_ = None - self.PetsPolicies = PetsPolicies - self.PetsPolicies_nsprefix_ = None - self.TaxPolicies = TaxPolicies - self.TaxPolicies_nsprefix_ = None - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - self.GuaranteePaymentPolicy_nsprefix_ = None - self.PolicyInfo = PolicyInfo - self.PolicyInfo_nsprefix_ = None - self.StayRequirements = StayRequirements - self.StayRequirements_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyType.subclass: - return PolicyType.subclass(*args_, **kwargs_) - else: - return PolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPolicy(self): - return self.CancelPolicy - def set_CancelPolicy(self, CancelPolicy): - self.CancelPolicy = CancelPolicy - def get_CheckoutCharges(self): - return self.CheckoutCharges - def set_CheckoutCharges(self, CheckoutCharges): - self.CheckoutCharges = CheckoutCharges - def get_PetsPolicies(self): - return self.PetsPolicies - def set_PetsPolicies(self, PetsPolicies): - self.PetsPolicies = PetsPolicies - def get_TaxPolicies(self): - return self.TaxPolicies - def set_TaxPolicies(self, TaxPolicies): - self.TaxPolicies = TaxPolicies - def get_GuaranteePaymentPolicy(self): - return self.GuaranteePaymentPolicy - def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - def get_PolicyInfo(self): - return self.PolicyInfo - def set_PolicyInfo(self, PolicyInfo): - self.PolicyInfo = PolicyInfo - def get_StayRequirements(self): - return self.StayRequirements - def set_StayRequirements(self, StayRequirements): - self.StayRequirements = StayRequirements - def has__content(self): - if ( - self.CancelPolicy is not None or - self.CheckoutCharges is not None or - self.PetsPolicies is not None or - self.TaxPolicies is not None or - self.GuaranteePaymentPolicy is not None or - self.PolicyInfo is not None or - self.StayRequirements is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPolicy is not None: - namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' - self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) - if self.CheckoutCharges is not None: - namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' - self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) - if self.PetsPolicies is not None: - namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' - self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) - if self.TaxPolicies is not None: - namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' - self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) - if self.GuaranteePaymentPolicy is not None: - namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' - self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) - if self.PolicyInfo is not None: - namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' - self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) - if self.StayRequirements is not None: - namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' - self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPolicy': - obj_ = CancelPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPolicy = obj_ - obj_.original_tagname_ = 'CancelPolicy' - elif nodeName_ == 'CheckoutCharges': - obj_ = CheckoutChargesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharges = obj_ - obj_.original_tagname_ = 'CheckoutCharges' - elif nodeName_ == 'PetsPolicies': - obj_ = PetsPoliciesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicies = obj_ - obj_.original_tagname_ = 'PetsPolicies' - elif nodeName_ == 'TaxPolicies': - obj_ = TaxPoliciesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicies = obj_ - obj_.original_tagname_ = 'TaxPolicies' - elif nodeName_ == 'GuaranteePaymentPolicy': - obj_ = GuaranteePaymentPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePaymentPolicy = obj_ - obj_.original_tagname_ = 'GuaranteePaymentPolicy' - elif nodeName_ == 'PolicyInfo': - obj_ = PolicyInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PolicyInfo = obj_ - obj_.original_tagname_ = 'PolicyInfo' - elif nodeName_ == 'StayRequirements': - obj_ = StayRequirementsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirements = obj_ - obj_.original_tagname_ = 'StayRequirements' -# end class PolicyType - - -class CancelPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPolicyType.subclass: - return CancelPolicyType.subclass(*args_, **kwargs_) - else: - return CancelPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType223.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPolicyType - - -class CancelPenaltyType223(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType223) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType223.subclass: - return CancelPenaltyType223.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType223(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType223', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType223') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType223': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType223') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType223', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType223'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType223', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType224.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType223 - - -class PenaltyDescriptionType224(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType224) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType224.subclass: - return PenaltyDescriptionType224.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType224(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType224', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType224') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType224': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType224') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType224', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType224'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType224', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType225.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class PenaltyDescriptionType224 - - -class TextType225(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType225) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType225.subclass: - return TextType225.subclass(*args_, **kwargs_) - else: - return TextType225(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType226(self, value): - # Validate type TextFormatType226, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType226' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType227(self, value): - # Validate type LanguageType227, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType227_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType227_patterns_, )) - validate_LanguageType227_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType225', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType225') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType225': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType225') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType225'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType225', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType226(self.TextFormat) # validate type TextFormatType226 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType227(self.Language) # validate type LanguageType227 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType225 - - -class CheckoutChargesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CheckoutCharge = CheckoutCharge - self.CheckoutCharge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargesType.subclass: - return CheckoutChargesType.subclass(*args_, **kwargs_) - else: - return CheckoutChargesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CheckoutCharge(self): - return self.CheckoutCharge - def set_CheckoutCharge(self, CheckoutCharge): - self.CheckoutCharge = CheckoutCharge - def has__content(self): - if ( - self.CheckoutCharge is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CheckoutCharge is not None: - namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' - self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CheckoutCharge': - obj_ = CheckoutChargeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharge = obj_ - obj_.original_tagname_ = 'CheckoutCharge' -# end class CheckoutChargesType - - -class CheckoutChargeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargeType.subclass: - return CheckoutChargeType.subclass(*args_, **kwargs_) - else: - return CheckoutChargeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType228.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class CheckoutChargeType - - -class DescriptionType228(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType228) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType228.subclass: - return DescriptionType228.subclass(*args_, **kwargs_) - else: - return DescriptionType228(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType228', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType228') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType228': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType228') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType228', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType228'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType228', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType229.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType228 - - -class TextType229(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType229) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType229.subclass: - return TextType229.subclass(*args_, **kwargs_) - else: - return TextType229(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType230(self, value): - # Validate type TextFormatType230, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType230' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType231(self, value): - # Validate type LanguageType231, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType231_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType231_patterns_, )) - validate_LanguageType231_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType229', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType229') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType229': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType229') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType229'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType229', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType230(self.TextFormat) # validate type TextFormatType230 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType231(self.Language) # validate type LanguageType231 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType229 - - -class PetsPoliciesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PetsPolicy = PetsPolicy - self.PetsPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPoliciesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPoliciesType.subclass: - return PetsPoliciesType.subclass(*args_, **kwargs_) - else: - return PetsPoliciesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PetsPolicy(self): - return self.PetsPolicy - def set_PetsPolicy(self, PetsPolicy): - self.PetsPolicy = PetsPolicy - def has__content(self): - if ( - self.PetsPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPoliciesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PetsPolicy is not None: - namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' - self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PetsPolicy': - obj_ = PetsPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicy = obj_ - obj_.original_tagname_ = 'PetsPolicy' -# end class PetsPoliciesType - - -class PetsPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MaxPetQuantity = _cast(int, MaxPetQuantity) - self.MaxPetQuantity_nsprefix_ = None - self.NonRefundableFee = _cast(float, NonRefundableFee) - self.NonRefundableFee_nsprefix_ = None - self.ChargeCode = _cast(int, ChargeCode) - self.ChargeCode_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPolicyType.subclass: - return PetsPolicyType.subclass(*args_, **kwargs_) - else: - return PetsPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_MaxPetQuantity(self): - return self.MaxPetQuantity - def set_MaxPetQuantity(self, MaxPetQuantity): - self.MaxPetQuantity = MaxPetQuantity - def get_NonRefundableFee(self): - return self.NonRefundableFee - def set_NonRefundableFee(self, NonRefundableFee): - self.NonRefundableFee = NonRefundableFee - def get_ChargeCode(self): - return self.ChargeCode - def set_ChargeCode(self, ChargeCode): - self.ChargeCode = ChargeCode - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType'): - if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) - if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) - if self.ChargeCode is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MaxPetQuantity', node) - if value is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') - if self.MaxPetQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 - value = find_attr_value_('NonRefundableFee', node) - if value is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - value = self.gds_parse_decimal(value, node, 'NonRefundableFee') - self.NonRefundableFee = value - self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 - value = find_attr_value_('ChargeCode', node) - if value is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') - if self.ChargeCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType232.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class PetsPolicyType - - -class DescriptionType232(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType232) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType232.subclass: - return DescriptionType232.subclass(*args_, **kwargs_) - else: - return DescriptionType232(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType232', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType232') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType232': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType232') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType232', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType232'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType232', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType233.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType232 - - -class TextType233(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType233) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType233.subclass: - return TextType233.subclass(*args_, **kwargs_) - else: - return TextType233(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType234(self, value): - # Validate type TextFormatType234, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType234' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType235(self, value): - # Validate type LanguageType235, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType235_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType235_patterns_, )) - validate_LanguageType235_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType233', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType233') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType233': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType233') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType233'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType233', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType234(self.TextFormat) # validate type TextFormatType234 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType235(self.Language) # validate type LanguageType235 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType233 - - -class TaxPoliciesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TaxPolicy = TaxPolicy - self.TaxPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPoliciesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPoliciesType.subclass: - return TaxPoliciesType.subclass(*args_, **kwargs_) - else: - return TaxPoliciesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxPolicy(self): - return self.TaxPolicy - def set_TaxPolicy(self, TaxPolicy): - self.TaxPolicy = TaxPolicy - def has__content(self): - if ( - self.TaxPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPoliciesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxPolicy is not None: - namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' - self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxPolicy': - obj_ = TaxPolicyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicy = obj_ - obj_.original_tagname_ = 'TaxPolicy' -# end class TaxPoliciesType - - -class TaxPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.ChargeFrequency = _cast(None, ChargeFrequency) - self.ChargeFrequency_nsprefix_ = None - self.ChargeUnit = _cast(None, ChargeUnit) - self.ChargeUnit_nsprefix_ = None - self.TaxDescription = TaxDescription - self.TaxDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPolicyType.subclass: - return TaxPolicyType.subclass(*args_, **kwargs_) - else: - return TaxPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxDescription(self): - return self.TaxDescription - def set_TaxDescription(self, TaxDescription): - self.TaxDescription = TaxDescription - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_ChargeFrequency(self): - return self.ChargeFrequency - def set_ChargeFrequency(self, ChargeFrequency): - self.ChargeFrequency = ChargeFrequency - def get_ChargeUnit(self): - return self.ChargeUnit - def set_ChargeUnit(self, ChargeUnit): - self.ChargeUnit = ChargeUnit - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_CodeType239(self, value): - # Validate type CodeType239, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType239' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeFrequencyType(self, value): - # Validate type ChargeFrequencyType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeUnitType(self, value): - # Validate type ChargeUnitType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['21'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.TaxDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) - if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxDescription is not None: - namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' - self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType239(self.Code) # validate type CodeType239 - value = find_attr_value_('ChargeFrequency', node) - if value is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - self.ChargeFrequency = value - self.validate_ChargeFrequencyType(self.ChargeFrequency) # validate type ChargeFrequencyType - value = find_attr_value_('ChargeUnit', node) - if value is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - self.ChargeUnit = value - self.validate_ChargeUnitType(self.ChargeUnit) # validate type ChargeUnitType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxDescription': - obj_ = TaxDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxDescription = obj_ - obj_.original_tagname_ = 'TaxDescription' -# end class TaxPolicyType - - -class TaxDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxDescriptionType.subclass: - return TaxDescriptionType.subclass(*args_, **kwargs_) - else: - return TaxDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType236.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class TaxDescriptionType - - -class TextType236(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType236) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType236.subclass: - return TextType236.subclass(*args_, **kwargs_) - else: - return TextType236(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType237(self, value): - # Validate type TextFormatType237, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType237' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType238(self, value): - # Validate type LanguageType238, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType238_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType238_patterns_, )) - validate_LanguageType238_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType236', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType236') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType236': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType236') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType236'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType236', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType237(self.TextFormat) # validate type TextFormatType237 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType238(self.Language) # validate type LanguageType238 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType236 - - -class GuaranteePaymentPolicyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentPolicyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentPolicyType.subclass: - return GuaranteePaymentPolicyType.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentPolicyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def has__content(self): - if ( - self.GuaranteePayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteePayment is not None: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType240.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment = obj_ - obj_.original_tagname_ = 'GuaranteePayment' -# end class GuaranteePaymentPolicyType - - -class GuaranteePaymentType240(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - self.Deadline = Deadline - self.Deadline_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType240) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType240.subclass: - return GuaranteePaymentType240.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType240(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Deadline(self): - return self.Deadline - def set_Deadline(self, Deadline): - self.Deadline = Deadline - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None or - self.Deadline is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType240', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType240') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType240': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType240') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType240', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType240'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType240', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - if self.Deadline is not None: - namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' - self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType241.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType247.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' - elif nodeName_ == 'Deadline': - obj_ = DeadlineType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Deadline = obj_ - obj_.original_tagname_ = 'Deadline' -# end class GuaranteePaymentType240 - - -class AcceptedPaymentsType241(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AcceptedPayment is None: - self.AcceptedPayment = [] - else: - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType241) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType241.subclass: - return AcceptedPaymentsType241.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType241(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def add_AcceptedPayment(self, value): - self.AcceptedPayment.append(value) - def insert_AcceptedPayment_at(self, index, value): - self.AcceptedPayment.insert(index, value) - def replace_AcceptedPayment_at(self, index, value): - self.AcceptedPayment[index] = value - def has__content(self): - if ( - self.AcceptedPayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType241', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType241') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType241': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType241') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType241', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType241'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType241', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AcceptedPayment_ in self.AcceptedPayment: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType242.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment.append(obj_) - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType241 - - -class AcceptedPaymentType242(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Cash = Cash - self.Cash_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType242) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType242.subclass: - return AcceptedPaymentType242.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType242(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Cash(self): - return self.Cash - def set_Cash(self, Cash): - self.Cash = Cash - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.BankAcct is not None or - self.Cash is not None or - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType242', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType242') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType242': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType242') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType242', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType242'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType242', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Cash is not None: - namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' - self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcct': - obj_ = BankAcctType243.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Cash': - obj_ = CashType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Cash = obj_ - obj_.original_tagname_ = 'Cash' - elif nodeName_ == 'PaymentCard': - obj_ = PaymentCardType246.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class AcceptedPaymentType242 - - -class BankAcctType243(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - self.BankID = BankID - self.BankID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType243) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType243.subclass: - return BankAcctType243.subclass(*args_, **kwargs_) - else: - return BankAcctType243(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def get_BankID(self): - return self.BankID - def set_BankID(self, BankID): - self.BankID = BankID - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None or - self.BankID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType243', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType243') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType243': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType243') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType243', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType243'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType243', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - if self.BankID is not None: - namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' - self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - obj_ = BankAcctNameType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctName = obj_ - obj_.original_tagname_ = 'BankAcctName' - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType244.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' - elif nodeName_ == 'BankID': - obj_ = BankIDType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankID = obj_ - obj_.original_tagname_ = 'BankID' -# end class BankAcctType243 - - -class BankAcctNameType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNameType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNameType.subclass: - return BankAcctNameType.subclass(*args_, **kwargs_) - else: - return BankAcctNameType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNameType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BankAcctNameType - - -class BankAcctNumberType244(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType244) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType244.subclass: - return BankAcctNumberType244.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType244(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType244', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType244') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType244': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType244') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType244', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType244'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType244', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankAcctNumberType244 - - -class PlainTextType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType.subclass: - return PlainTextType.subclass(*args_, **kwargs_) - else: - return PlainTextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType - - -class BankIDType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankIDType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankIDType.subclass: - return BankIDType.subclass(*args_, **kwargs_) - else: - return BankIDType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankIDType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType245.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankIDType - - -class PlainTextType245(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType245) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType245.subclass: - return PlainTextType245.subclass(*args_, **kwargs_) - else: - return PlainTextType245(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType245', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType245') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType245': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType245') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType245'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType245', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType245 - - -class CashType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CashIndicator = _cast(bool, CashIndicator) - self.CashIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CashType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CashType.subclass: - return CashType.subclass(*args_, **kwargs_) - else: - return CashType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CashIndicator(self): - return self.CashIndicator - def set_CashIndicator(self, CashIndicator): - self.CashIndicator = CashIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CashType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType'): - if self.CashIndicator is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CashIndicator', node) - if value is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - if value in ('true', '1'): - self.CashIndicator = True - elif value in ('false', '0'): - self.CashIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.CashIndicator) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CashType - - -class PaymentCardType246(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.CardType = CardType - self.CardType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType246) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType246.subclass: - return PaymentCardType246.subclass(*args_, **kwargs_) - else: - return PaymentCardType246(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardType(self): - return self.CardType - def set_CardType(self, CardType): - self.CardType = CardType - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CardType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType246', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType246') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType246': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType246') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType246', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType246'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType246', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardType is not None: - namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' - self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardType': - obj_ = CardTypeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardType = obj_ - obj_.original_tagname_ = 'CardType' -# end class PaymentCardType246 - - -class CardTypeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardTypeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardTypeType.subclass: - return CardTypeType.subclass(*args_, **kwargs_) - else: - return CardTypeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardTypeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardTypeType - - -class AmountPercentType247(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(float, Percent) - self.Percent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType247) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType247.subclass: - return AmountPercentType247.subclass(*args_, **kwargs_) - else: - return AmountPercentType247(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType247', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType247') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType247': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType247') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType247', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType247'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType247', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - value = self.gds_parse_decimal(value, node, 'Percent') - self.Percent = value - self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType247 - - -class DeadlineType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OffsetDropTime = _cast(None, OffsetDropTime) - self.OffsetDropTime_nsprefix_ = None - self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) - self.OffsetTimeUnit_nsprefix_ = None - self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) - self.OffsetUnitMultiplier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DeadlineType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DeadlineType.subclass: - return DeadlineType.subclass(*args_, **kwargs_) - else: - return DeadlineType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OffsetDropTime(self): - return self.OffsetDropTime - def set_OffsetDropTime(self, OffsetDropTime): - self.OffsetDropTime = OffsetDropTime - def get_OffsetTimeUnit(self): - return self.OffsetTimeUnit - def set_OffsetTimeUnit(self, OffsetTimeUnit): - self.OffsetTimeUnit = OffsetTimeUnit - def get_OffsetUnitMultiplier(self): - return self.OffsetUnitMultiplier - def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): - self.OffsetUnitMultiplier = OffsetUnitMultiplier - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TimeUnitType(self, value): - # Validate type TimeUnitType, a restriction on StringLength1to16. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DeadlineType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType'): - if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) - if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) - if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('OffsetDropTime', node) - if value is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - self.OffsetDropTime = value - self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string - value = find_attr_value_('OffsetTimeUnit', node) - if value is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - self.OffsetTimeUnit = value - self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType - value = find_attr_value_('OffsetUnitMultiplier', node) - if value is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') - if self.OffsetUnitMultiplier < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DeadlineType - - -class PolicyInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestAge = _cast(int, MinGuestAge) - self.MinGuestAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyInfoType.subclass: - return PolicyInfoType.subclass(*args_, **kwargs_) - else: - return PolicyInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MinGuestAge(self): - return self.MinGuestAge - def set_MinGuestAge(self, MinGuestAge): - self.MinGuestAge = MinGuestAge - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType'): - if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestAge', node) - if value is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') - if self.MinGuestAge < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PolicyInfoType - - -class StayRequirementsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if StayRequirement is None: - self.StayRequirement = [] - else: - self.StayRequirement = StayRequirement - self.StayRequirement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementsType.subclass: - return StayRequirementsType.subclass(*args_, **kwargs_) - else: - return StayRequirementsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayRequirement(self): - return self.StayRequirement - def set_StayRequirement(self, StayRequirement): - self.StayRequirement = StayRequirement - def add_StayRequirement(self, value): - self.StayRequirement.append(value) - def insert_StayRequirement_at(self, index, value): - self.StayRequirement.insert(index, value) - def replace_StayRequirement_at(self, index, value): - self.StayRequirement[index] = value - def has__content(self): - if ( - self.StayRequirement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for StayRequirement_ in self.StayRequirement: - namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' - StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StayRequirement': - obj_ = StayRequirementType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirement.append(obj_) - obj_.original_tagname_ = 'StayRequirement' -# end class StayRequirementsType - - -class StayRequirementType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StayContext = _cast(None, StayContext) - self.StayContext_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementType.subclass: - return StayRequirementType.subclass(*args_, **kwargs_) - else: - return StayRequirementType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayContext(self): - return self.StayContext - def set_StayContext(self, StayContext): - self.StayContext = StayContext - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_StayContextType(self, value): - # Validate type StayContextType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Checkin', 'Checkout'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StartType(self, value): - # Validate type StartType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_StartType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType_patterns_, )) - validate_StartType_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def validate_EndType(self, value): - # Validate type EndType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_EndType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType_patterns_, )) - validate_EndType_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType'): - if self.StayContext is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StayContext', node) - if value is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - self.StayContext = value - self.validate_StayContextType(self.StayContext) # validate type StayContextType - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_StartType(self.Start) # validate type StartType - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_EndType(self.End) # validate type EndType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StayRequirementType - - -class AffiliationInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Awards=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Awards = Awards - self.Awards_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AffiliationInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AffiliationInfoType.subclass: - return AffiliationInfoType.subclass(*args_, **kwargs_) - else: - return AffiliationInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Awards(self): - return self.Awards - def set_Awards(self, Awards): - self.Awards = Awards - def has__content(self): - if ( - self.Awards is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AffiliationInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Awards is not None: - namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' - self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Awards': - obj_ = AwardsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Awards = obj_ - obj_.original_tagname_ = 'Awards' -# end class AffiliationInfoType - - -class AwardsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Award=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Award is None: - self.Award = [] - else: - self.Award = Award - self.Award_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardsType.subclass: - return AwardsType.subclass(*args_, **kwargs_) - else: - return AwardsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Award(self): - return self.Award - def set_Award(self, Award): - self.Award = Award - def add_Award(self, value): - self.Award.append(value) - def insert_Award_at(self, index, value): - self.Award.insert(index, value) - def replace_Award_at(self, index, value): - self.Award[index] = value - def has__content(self): - if ( - self.Award - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Award_ in self.Award: - namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' - Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Award': - obj_ = AwardType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Award.append(obj_) - obj_.original_tagname_ = 'Award' -# end class AwardsType - - -class AwardType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Rating = _cast(float, Rating) - self.Rating_nsprefix_ = None - self.Provider = _cast(None, Provider) - self.Provider_nsprefix_ = None - self.RatingSymbol = _cast(None, RatingSymbol) - self.RatingSymbol_nsprefix_ = None - self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) - self.OfficialAppointmentInd_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardType.subclass: - return AwardType.subclass(*args_, **kwargs_) - else: - return AwardType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rating(self): - return self.Rating - def set_Rating(self, Rating): - self.Rating = Rating - def get_Provider(self): - return self.Provider - def set_Provider(self, Provider): - self.Provider = Provider - def get_RatingSymbol(self): - return self.RatingSymbol - def set_RatingSymbol(self, RatingSymbol): - self.RatingSymbol = RatingSymbol - def get_OfficialAppointmentInd(self): - return self.OfficialAppointmentInd - def set_OfficialAppointmentInd(self, OfficialAppointmentInd): - self.OfficialAppointmentInd = OfficialAppointmentInd - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType'): - if self.Rating is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) - if self.Provider is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) - if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) - if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Rating', node) - if value is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - value = self.gds_parse_decimal(value, node, 'Rating') - self.Rating = value - self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 - value = find_attr_value_('Provider', node) - if value is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - self.Provider = value - self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string - value = find_attr_value_('RatingSymbol', node) - if value is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - self.RatingSymbol = value - self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string - value = find_attr_value_('OfficialAppointmentInd', node) - if value is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - if value in ('true', '1'): - self.OfficialAppointmentInd = True - elif value in ('false', '0'): - self.OfficialAppointmentInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AwardType - - -class ContactInfosType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ContactInfo = ContactInfo - self.ContactInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfosType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfosType.subclass: - return ContactInfosType.subclass(*args_, **kwargs_) - else: - return ContactInfosType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ContactInfo(self): - return self.ContactInfo - def set_ContactInfo(self, ContactInfo): - self.ContactInfo = ContactInfo - def has__content(self): - if ( - self.ContactInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfosType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ContactInfo is not None: - namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' - self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ContactInfo': - obj_ = ContactInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfo = obj_ - obj_.original_tagname_ = 'ContactInfo' -# end class ContactInfosType - - -class ContactInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = _cast(None, Location) - self.Location_nsprefix_ = None - self.Addresses = Addresses - self.Addresses_nsprefix_ = None - self.Phones = Phones - self.Phones_nsprefix_ = None - self.Emails = Emails - self.Emails_nsprefix_ = None - self.URLs = URLs - self.URLs_nsprefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfoType.subclass: - return ContactInfoType.subclass(*args_, **kwargs_) - else: - return ContactInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Addresses(self): - return self.Addresses - def set_Addresses(self, Addresses): - self.Addresses = Addresses - def get_Phones(self): - return self.Phones - def set_Phones(self, Phones): - self.Phones = Phones - def get_Emails(self): - return self.Emails - def set_Emails(self, Emails): - self.Emails = Emails - def get_URLs(self): - return self.URLs - def set_URLs(self, URLs): - self.URLs = URLs - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def validate_LocationType256(self, value): - # Validate type LocationType256, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['6'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType256' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Addresses is not None or - self.Phones is not None or - self.Emails is not None or - self.URLs is not None or - self.CompanyName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType'): - if self.Location is not None and 'Location' not in already_processed: - already_processed.add('Location') - outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Addresses is not None: - namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' - self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) - if self.Phones is not None: - namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' - self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) - if self.Emails is not None: - namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' - self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) - if self.URLs is not None: - namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' - self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Location', node) - if value is not None and 'Location' not in already_processed: - already_processed.add('Location') - self.Location = value - self.validate_LocationType256(self.Location) # validate type LocationType256 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Addresses': - obj_ = AddressesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Addresses = obj_ - obj_.original_tagname_ = 'Addresses' - elif nodeName_ == 'Phones': - obj_ = PhonesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phones = obj_ - obj_.original_tagname_ = 'Phones' - elif nodeName_ == 'Emails': - obj_ = EmailsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Emails = obj_ - obj_.original_tagname_ = 'Emails' - elif nodeName_ == 'URLs': - obj_ = URLsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URLs = obj_ - obj_.original_tagname_ = 'URLs' - elif nodeName_ == 'CompanyName': - obj_ = CompanyNameType255.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' -# end class ContactInfoType - - -class AddressesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Address is None: - self.Address = [] - else: - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressesType.subclass: - return AddressesType.subclass(*args_, **kwargs_) - else: - return AddressesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def add_Address(self, value): - self.Address.append(value) - def insert_Address_at(self, index, value): - self.Address.insert(index, value) - def replace_Address_at(self, index, value): - self.Address[index] = value - def has__content(self): - if ( - self.Address - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Address_ in self.Address: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Address': - obj_ = AddressType248.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address.append(obj_) - obj_.original_tagname_ = 'Address' -# end class AddressesType - - -class AddressType248(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.StateProv = StateProv - self.StateProv_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType248) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType248.subclass: - return AddressType248.subclass(*args_, **kwargs_) - else: - return AddressType248(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_StateProv(self): - return self.StateProv - def set_StateProv(self, StateProv): - self.StateProv = StateProv - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType251(self, value): - # Validate type LanguageType251, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType251_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType251_patterns_, )) - validate_LanguageType251_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.StateProv is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType248', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType248') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType248': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType248') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType248', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType248'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType248', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.StateProv is not None: - namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' - self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType251(self.Language) # validate type LanguageType251 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'StateProv': - obj_ = StateProvType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StateProv = obj_ - obj_.original_tagname_ = 'StateProv' - elif nodeName_ == 'CountryName': - obj_ = CountryNameType249.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType248 - - -class StateProvType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StateCode = _cast(None, StateCode) - self.StateCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StateProvType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StateProvType.subclass: - return StateProvType.subclass(*args_, **kwargs_) - else: - return StateProvType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StateCode(self): - return self.StateCode - def set_StateCode(self, StateCode): - self.StateCode = StateCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StateProvType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType'): - if self.StateCode is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StateCode', node) - if value is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - self.StateCode = value - self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StateProvType - - -class CountryNameType249(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType249) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType249.subclass: - return CountryNameType249.subclass(*args_, **kwargs_) - else: - return CountryNameType249(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType250(self, value): - # Validate type CodeType250, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType250_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType250_patterns_, )) - validate_CodeType250_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType249', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType249') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType249': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType249') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType249', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType249'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType249', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType250(self.Code) # validate type CodeType250 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType249 - - -class PhonesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Phone=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Phone is None: - self.Phone = [] - else: - self.Phone = Phone - self.Phone_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhonesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhonesType.subclass: - return PhonesType.subclass(*args_, **kwargs_) - else: - return PhonesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Phone(self): - return self.Phone - def set_Phone(self, Phone): - self.Phone = Phone - def add_Phone(self, value): - self.Phone.append(value) - def insert_Phone_at(self, index, value): - self.Phone.insert(index, value) - def replace_Phone_at(self, index, value): - self.Phone[index] = value - def has__content(self): - if ( - self.Phone - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhonesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Phone_ in self.Phone: - namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' - Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Phone': - obj_ = PhoneType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phone.append(obj_) - obj_.original_tagname_ = 'Phone' -# end class PhonesType - - -class PhoneType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhoneType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhoneType.subclass: - return PhoneType.subclass(*args_, **kwargs_) - else: - return PhoneType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_PhoneNumberType252(self, value): - # Validate type PhoneNumberType252, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType252_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType252_patterns_, )) - validate_PhoneNumberType252_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhoneType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType252(self.PhoneNumber) # validate type PhoneNumberType252 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PhoneType - - -class EmailsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Email is None: - self.Email = [] - else: - self.Email = Email - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailsType.subclass: - return EmailsType.subclass(*args_, **kwargs_) - else: - return EmailsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def add_Email(self, value): - self.Email.append(value) - def insert_Email_at(self, index, value): - self.Email.insert(index, value) - def replace_Email_at(self, index, value): - self.Email[index] = value - def has__content(self): - if ( - self.Email - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Email_ in self.Email: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Email': - obj_ = EmailType253.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email.append(obj_) - obj_.original_tagname_ = 'Email' -# end class EmailsType - - -class EmailType253(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmailType = _cast(None, EmailType) - self.EmailType_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType253) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType253.subclass: - return EmailType253.subclass(*args_, **kwargs_) - else: - return EmailType253(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmailType(self): - return self.EmailType - def set_EmailType(self, EmailType): - self.EmailType = EmailType - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType253', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType253') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType253': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType253') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType253'): - if self.EmailType is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType253', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmailType', node) - if value is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - self.EmailType = value - self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType253 - - -class URLsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLsType.subclass: - return URLsType.subclass(*args_, **kwargs_) - else: - return URLsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def has__content(self): - if ( - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - obj_ = URLType254.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URL.append(obj_) - obj_.original_tagname_ = 'URL' -# end class URLsType - - -class URLType254(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType254) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType254.subclass: - return URLType254.subclass(*args_, **kwargs_) - else: - return URLType254(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_uppercase_string(self, value): - # Validate type def_uppercase_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_uppercase_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) - validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType254', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType254') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType254': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType254') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType254'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType254', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType254 - - -class CompanyNameType255(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType255) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType255.subclass: - return CompanyNameType255.subclass(*args_, **kwargs_) - else: - return CompanyNameType255(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_any_string(self, value): - result = True - # Validate type def_any_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType255', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType255') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType255': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType255') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType255'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType255', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType255 - - -class ErrorsType257(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType257) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType257.subclass: - return ErrorsType257.subclass(*args_, **kwargs_) - else: - return ErrorsType257(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType257', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType257') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType257': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType257') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType257', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType257'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType257', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType258.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType257 - - -class ErrorType258(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType258) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType258.subclass: - return ErrorType258.subclass(*args_, **kwargs_) - else: - return ErrorType258(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType259(self, value): - # Validate type TypeType259, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType259' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType258', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType258') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType258': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType258') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType258'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType258', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType259(self.Type) # validate type TypeType259 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType258 - - -class WarningsType260(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType260) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType260.subclass: - return WarningsType260.subclass(*args_, **kwargs_) - else: - return WarningsType260(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType260', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType260') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType260': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType260') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType260', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType260'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType260', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType261.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType260 - - -class WarningType261(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType261) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType261.subclass: - return WarningType261.subclass(*args_, **kwargs_) - else: - return WarningType261(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType261', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType261') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType261': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType261') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType261'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType261', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType261 - - -class HotelDescriptiveInfosType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelDescriptiveInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelDescriptiveInfo = HotelDescriptiveInfo - self.HotelDescriptiveInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveInfosType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveInfosType.subclass: - return HotelDescriptiveInfosType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveInfosType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveInfo(self): - return self.HotelDescriptiveInfo - def set_HotelDescriptiveInfo(self, HotelDescriptiveInfo): - self.HotelDescriptiveInfo = HotelDescriptiveInfo - def has__content(self): - if ( - self.HotelDescriptiveInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveInfosType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveInfosType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveInfosType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveInfosType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveInfosType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveInfosType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveInfosType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveInfo is not None: - namespaceprefix_ = self.HotelDescriptiveInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveInfo_nsprefix_) else '' - self.HotelDescriptiveInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveInfo': - obj_ = HotelDescriptiveInfoType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveInfo = obj_ - obj_.original_tagname_ = 'HotelDescriptiveInfo' -# end class HotelDescriptiveInfosType - - -class HotelDescriptiveInfoType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveInfoType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveInfoType.subclass: - return HotelDescriptiveInfoType.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveInfoType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelDescriptiveInfoType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveInfoType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveInfoType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveInfoType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveInfoType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveInfoType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelDescriptiveInfoType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelDescriptiveInfoType - - -class ErrorsType262(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType262) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType262.subclass: - return ErrorsType262.subclass(*args_, **kwargs_) - else: - return ErrorsType262(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType262', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType262') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType262': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType262') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType262', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType262'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType262', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType263.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType262 - - -class ErrorType263(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType263) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType263.subclass: - return ErrorType263.subclass(*args_, **kwargs_) - else: - return ErrorType263(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType264(self, value): - # Validate type TypeType264, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType264' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType263', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType263') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType263': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType263') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType263'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType263', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType264(self.Type) # validate type TypeType264 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType263 - - -class WarningsType265(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType265) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType265.subclass: - return WarningsType265.subclass(*args_, **kwargs_) - else: - return WarningsType265(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType265', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType265') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType265': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType265') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType265', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType265'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType265', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType266.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType265 - - -class WarningType266(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType266) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType266.subclass: - return WarningType266.subclass(*args_, **kwargs_) - else: - return WarningType266(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType266', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType266') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType266': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType266') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType266'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType266', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType266 - - -class HotelDescriptiveContentsType267(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelDescriptiveContent = HotelDescriptiveContent - self.HotelDescriptiveContent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentsType267) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentsType267.subclass: - return HotelDescriptiveContentsType267.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentsType267(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveContent(self): - return self.HotelDescriptiveContent - def set_HotelDescriptiveContent(self, HotelDescriptiveContent): - self.HotelDescriptiveContent = HotelDescriptiveContent - def has__content(self): - if ( - self.HotelDescriptiveContent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType267', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType267') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType267': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType267') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType267', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType267'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType267', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveContent is not None: - namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' - self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveContent': - obj_ = HotelDescriptiveContentType268.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContent = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContent' -# end class HotelDescriptiveContentsType267 - - -class HotelDescriptiveContentType268(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCityCode = _cast(None, HotelCityCode) - self.HotelCityCode_nsprefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.AreaID = _cast(None, AreaID) - self.AreaID_nsprefix_ = None - self.HotelInfo = HotelInfo - self.HotelInfo_nsprefix_ = None - self.FacilityInfo = FacilityInfo - self.FacilityInfo_nsprefix_ = None - self.Policies = Policies - self.Policies_nsprefix_ = None - self.AffiliationInfo = AffiliationInfo - self.AffiliationInfo_nsprefix_ = None - self.ContactInfos = ContactInfos - self.ContactInfos_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentType268) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentType268.subclass: - return HotelDescriptiveContentType268.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentType268(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelInfo(self): - return self.HotelInfo - def set_HotelInfo(self, HotelInfo): - self.HotelInfo = HotelInfo - def get_FacilityInfo(self): - return self.FacilityInfo - def set_FacilityInfo(self, FacilityInfo): - self.FacilityInfo = FacilityInfo - def get_Policies(self): - return self.Policies - def set_Policies(self, Policies): - self.Policies = Policies - def get_AffiliationInfo(self): - return self.AffiliationInfo - def set_AffiliationInfo(self, AffiliationInfo): - self.AffiliationInfo = AffiliationInfo - def get_ContactInfos(self): - return self.ContactInfos - def set_ContactInfos(self, ContactInfos): - self.ContactInfos = ContactInfos - def get_HotelCityCode(self): - return self.HotelCityCode - def set_HotelCityCode(self, HotelCityCode): - self.HotelCityCode = HotelCityCode - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def get_AreaID(self): - return self.AreaID - def set_AreaID(self, AreaID): - self.AreaID = AreaID - def validate_StringLength1to8(self, value): - # Validate type StringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_NumericStringLength1to8(self, value): - # Validate type NumericStringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to8_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) - validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - self.HotelInfo is not None or - self.FacilityInfo is not None or - self.Policies is not None or - self.AffiliationInfo is not None or - self.ContactInfos is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType268', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType268') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType268': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType268') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType268', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType268'): - if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - if self.AreaID is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType268', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelInfo is not None: - namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' - self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) - if self.FacilityInfo is not None: - namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' - self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) - if self.Policies is not None: - namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' - self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) - if self.AffiliationInfo is not None: - namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' - self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) - if self.ContactInfos is not None: - namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' - self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCityCode', node) - if value is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - self.HotelCityCode = value - self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - value = find_attr_value_('AreaID', node) - if value is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - self.AreaID = value - self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelInfo': - obj_ = HotelInfoType269.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelInfo = obj_ - obj_.original_tagname_ = 'HotelInfo' - elif nodeName_ == 'FacilityInfo': - obj_ = FacilityInfoType305.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.FacilityInfo = obj_ - obj_.original_tagname_ = 'FacilityInfo' - elif nodeName_ == 'Policies': - obj_ = PoliciesType326.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policies = obj_ - obj_.original_tagname_ = 'Policies' - elif nodeName_ == 'AffiliationInfo': - obj_ = AffiliationInfoType376.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AffiliationInfo = obj_ - obj_.original_tagname_ = 'AffiliationInfo' - elif nodeName_ == 'ContactInfos': - obj_ = ContactInfosType379.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfos = obj_ - obj_.original_tagname_ = 'ContactInfos' -# end class HotelDescriptiveContentType268 - - -class HotelInfoType269(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelStatusCode = _cast(int, HotelStatusCode) - self.HotelStatusCode_nsprefix_ = None - self.CategoryCodes = CategoryCodes - self.CategoryCodes_nsprefix_ = None - self.Descriptions = Descriptions - self.Descriptions_nsprefix_ = None - self.Position = Position - self.Position_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelInfoType269) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelInfoType269.subclass: - return HotelInfoType269.subclass(*args_, **kwargs_) - else: - return HotelInfoType269(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CategoryCodes(self): - return self.CategoryCodes - def set_CategoryCodes(self, CategoryCodes): - self.CategoryCodes = CategoryCodes - def get_Descriptions(self): - return self.Descriptions - def set_Descriptions(self, Descriptions): - self.Descriptions = Descriptions - def get_Position(self): - return self.Position - def set_Position(self, Position): - self.Position = Position - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_HotelStatusCode(self): - return self.HotelStatusCode - def set_HotelStatusCode(self, HotelStatusCode): - self.HotelStatusCode = HotelStatusCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CategoryCodes is not None or - self.Descriptions is not None or - self.Position is not None or - self.Services is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType269', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType269') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelInfoType269': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType269') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType269', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType269'): - if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType269', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CategoryCodes is not None: - namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' - self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) - if self.Descriptions is not None: - namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' - self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) - if self.Position is not None: - namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' - self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelStatusCode', node) - if value is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') - if self.HotelStatusCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CategoryCodes': - obj_ = CategoryCodesType270.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CategoryCodes = obj_ - obj_.original_tagname_ = 'CategoryCodes' - elif nodeName_ == 'Descriptions': - obj_ = DescriptionsType272.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Descriptions = obj_ - obj_.original_tagname_ = 'Descriptions' - elif nodeName_ == 'Position': - obj_ = PositionType298.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Position = obj_ - obj_.original_tagname_ = 'Position' - elif nodeName_ == 'Services': - obj_ = ServicesType300.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' -# end class HotelInfoType269 - - -class CategoryCodesType270(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCategory = HotelCategory - self.HotelCategory_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CategoryCodesType270) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CategoryCodesType270.subclass: - return CategoryCodesType270.subclass(*args_, **kwargs_) - else: - return CategoryCodesType270(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCategory(self): - return self.HotelCategory - def set_HotelCategory(self, HotelCategory): - self.HotelCategory = HotelCategory - def has__content(self): - if ( - self.HotelCategory is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType270', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType270') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CategoryCodesType270': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType270') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType270', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType270'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType270', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelCategory is not None: - namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' - self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelCategory': - obj_ = HotelCategoryType271.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelCategory = obj_ - obj_.original_tagname_ = 'HotelCategory' -# end class CategoryCodesType270 - - -class HotelCategoryType271(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeDetail = _cast(None, CodeDetail) - self.CodeDetail_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelCategoryType271) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelCategoryType271.subclass: - return HotelCategoryType271.subclass(*args_, **kwargs_) - else: - return HotelCategoryType271(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeDetail(self): - return self.CodeDetail - def set_CodeDetail(self, CodeDetail): - self.CodeDetail = CodeDetail - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType271', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType271') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelCategoryType271': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType271') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType271', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType271'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeDetail is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType271', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeDetail', node) - if value is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - self.CodeDetail = value - self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelCategoryType271 - - -class DescriptionsType272(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionsType272) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionsType272.subclass: - return DescriptionsType272.subclass(*args_, **kwargs_) - else: - return DescriptionsType272(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def has__content(self): - if ( - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType272', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType272') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionsType272': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType272') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType272', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType272'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType272', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType273.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class DescriptionsType272 - - -class MultimediaDescriptionsType273(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType273) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType273.subclass: - return MultimediaDescriptionsType273.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType273(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType273', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType273') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType273': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType273') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType273', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType273'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType273', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType274.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType273 - - -class MultimediaDescriptionType274(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - self.VideoItems = VideoItems - self.VideoItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType274) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType274.subclass: - return MultimediaDescriptionType274.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType274(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_VideoItems(self): - return self.VideoItems - def set_VideoItems(self, VideoItems): - self.VideoItems = VideoItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType297(self, value): - # Validate type InfoCodeType297, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 17, 23, 24] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType297' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType297_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType297_patterns_, )) - validate_InfoCodeType297_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None or - self.VideoItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType274', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType274') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType274': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType274') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType274', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType274'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType274', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - if self.VideoItems is not None: - namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' - self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType297(self.InfoCode) # validate type InfoCodeType297 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType275.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType280.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' - elif nodeName_ == 'VideoItems': - obj_ = VideoItemsType289.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItems = obj_ - obj_.original_tagname_ = 'VideoItems' -# end class MultimediaDescriptionType274 - - -class TextItemsType275(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if TextItem is None: - self.TextItem = [] - else: - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType275) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType275.subclass: - return TextItemsType275.subclass(*args_, **kwargs_) - else: - return TextItemsType275(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def add_TextItem(self, value): - self.TextItem.append(value) - def insert_TextItem_at(self, index, value): - self.TextItem.insert(index, value) - def replace_TextItem_at(self, index, value): - self.TextItem[index] = value - def has__content(self): - if ( - self.TextItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType275', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType275') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType275': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType275') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType275', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType275'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType275', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for TextItem_ in self.TextItem: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType276.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem.append(obj_) - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType275 - - -class TextItemType276(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType276) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType276.subclass: - return TextItemType276.subclass(*args_, **kwargs_) - else: - return TextItemType276(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType276', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType276') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType276': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType276') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType276', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType276'): - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType276', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType277.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType276 - - -class DescriptionType277(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType277) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType277.subclass: - return DescriptionType277.subclass(*args_, **kwargs_) - else: - return DescriptionType277(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType278(self, value): - # Validate type TextFormatType278, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType278' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType279(self, value): - # Validate type LanguageType279, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType279_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType279_patterns_, )) - validate_LanguageType279_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType277', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType277') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType277': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType277') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType277'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType277', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType278(self.TextFormat) # validate type TextFormatType278 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType279(self.Language) # validate type LanguageType279 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType277 - - -class ImageItemsType280(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType280) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType280.subclass: - return ImageItemsType280.subclass(*args_, **kwargs_) - else: - return ImageItemsType280(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType280', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType280') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType280': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType280') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType280', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType280'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType280', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType281.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType280 - - -class ImageItemType281(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType281) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType281.subclass: - return ImageItemType281.subclass(*args_, **kwargs_) - else: - return ImageItemType281(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType288(self, value): - # Validate type CategoryType288, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 15, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType288' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType288_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType288_patterns_, )) - validate_CategoryType288_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType281', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType281') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType281': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType281') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType281', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType281'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType281', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType288(self.Category) # validate type CategoryType288 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType282.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType285.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType281 - - -class ImageFormatType282(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.ApplicableEnd = _cast(None, ApplicableEnd) - self.ApplicableEnd_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType282) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType282.subclass: - return ImageFormatType282.subclass(*args_, **kwargs_) - else: - return ImageFormatType282(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def get_ApplicableEnd(self): - return self.ApplicableEnd - def set_ApplicableEnd(self, ApplicableEnd): - self.ApplicableEnd = ApplicableEnd - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType283(self, value): - # Validate type ApplicableStartType283, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType283_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType283_patterns_, )) - validate_ApplicableStartType283_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def validate_ApplicableEndType284(self, value): - # Validate type ApplicableEndType284, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableEndType284_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType284_patterns_, )) - validate_ApplicableEndType284_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType282', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType282') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType282': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType282') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType282', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType282'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType282', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType283(self.ApplicableStart) # validate type ApplicableStartType283 - value = find_attr_value_('ApplicableEnd', node) - if value is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - self.ApplicableEnd = value - self.validate_ApplicableEndType284(self.ApplicableEnd) # validate type ApplicableEndType284 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType282 - - -class DescriptionType285(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType285) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType285.subclass: - return DescriptionType285.subclass(*args_, **kwargs_) - else: - return DescriptionType285(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType286(self, value): - # Validate type TextFormatType286, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType286' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType287(self, value): - # Validate type LanguageType287, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType287_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType287_patterns_, )) - validate_LanguageType287_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType285', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType285') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType285': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType285') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType285'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType285', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType286(self.TextFormat) # validate type TextFormatType286 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType287(self.Language) # validate type LanguageType287 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType285 - - -class VideoItemsType289(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if VideoItem is None: - self.VideoItem = [] - else: - self.VideoItem = VideoItem - self.VideoItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemsType289) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemsType289.subclass: - return VideoItemsType289.subclass(*args_, **kwargs_) - else: - return VideoItemsType289(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoItem(self): - return self.VideoItem - def set_VideoItem(self, VideoItem): - self.VideoItem = VideoItem - def add_VideoItem(self, value): - self.VideoItem.append(value) - def insert_VideoItem_at(self, index, value): - self.VideoItem.insert(index, value) - def replace_VideoItem_at(self, index, value): - self.VideoItem[index] = value - def has__content(self): - if ( - self.VideoItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType289', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType289') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemsType289': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType289') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType289', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType289'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType289', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for VideoItem_ in self.VideoItem: - namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' - VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoItem': - obj_ = VideoItemType290.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItem.append(obj_) - obj_.original_tagname_ = 'VideoItem' -# end class VideoItemsType289 - - -class VideoItemType290(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.VideoFormat = VideoFormat - self.VideoFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemType290) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemType290.subclass: - return VideoItemType290.subclass(*args_, **kwargs_) - else: - return VideoItemType290(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoFormat(self): - return self.VideoFormat - def set_VideoFormat(self, VideoFormat): - self.VideoFormat = VideoFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType296(self, value): - # Validate type CategoryType296, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 20, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType296' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType296_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType296_patterns_, )) - validate_CategoryType296_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.VideoFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType290', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType290') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemType290': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType290') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType290', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType290'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType290', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.VideoFormat is not None: - namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' - self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType296(self.Category) # validate type CategoryType296 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoFormat': - obj_ = VideoFormatType291.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoFormat = obj_ - obj_.original_tagname_ = 'VideoFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType293.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class VideoItemType290 - - -class VideoFormatType291(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoFormatType291) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoFormatType291.subclass: - return VideoFormatType291.subclass(*args_, **kwargs_) - else: - return VideoFormatType291(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType292(self, value): - # Validate type ApplicableStartType292, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType292_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType292_patterns_, )) - validate_ApplicableStartType292_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType291', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType291') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoFormatType291': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType291') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType291', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType291'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType291', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType292(self.ApplicableStart) # validate type ApplicableStartType292 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class VideoFormatType291 - - -class DescriptionType293(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType293) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType293.subclass: - return DescriptionType293.subclass(*args_, **kwargs_) - else: - return DescriptionType293(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType294(self, value): - # Validate type TextFormatType294, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType294' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType295(self, value): - # Validate type LanguageType295, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType295_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType295_patterns_, )) - validate_LanguageType295_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType293', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType293') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType293': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType293') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType293'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType293', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType294(self.TextFormat) # validate type TextFormatType294 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType295(self.Language) # validate type LanguageType295 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType293 - - -class PositionType298(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Altitude = _cast(float, Altitude) - self.Altitude_nsprefix_ = None - self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) - self.AltitudeUnitOfMeasureCode_nsprefix_ = None - self.Latitude = _cast(float, Latitude) - self.Latitude_nsprefix_ = None - self.Longitude = _cast(float, Longitude) - self.Longitude_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PositionType298) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PositionType298.subclass: - return PositionType298.subclass(*args_, **kwargs_) - else: - return PositionType298(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Altitude(self): - return self.Altitude - def set_Altitude(self, Altitude): - self.Altitude = Altitude - def get_AltitudeUnitOfMeasureCode(self): - return self.AltitudeUnitOfMeasureCode - def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): - self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode - def get_Latitude(self): - return self.Latitude - def set_Latitude(self, Latitude): - self.Latitude = Latitude - def get_Longitude(self): - return self.Longitude - def set_Longitude(self, Longitude): - self.Longitude = Longitude - def validate_AltitudeUnitOfMeasureCodeType299(self, value): - # Validate type AltitudeUnitOfMeasureCodeType299, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType299' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType298', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType298') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PositionType298': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType298') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType298', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType298'): - if self.Altitude is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) - if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) - if self.Latitude is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) - if self.Longitude is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType298', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Altitude', node) - if value is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - value = self.gds_parse_decimal(value, node, 'Altitude') - self.Altitude = value - value = find_attr_value_('AltitudeUnitOfMeasureCode', node) - if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - self.AltitudeUnitOfMeasureCode = value - self.validate_AltitudeUnitOfMeasureCodeType299(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType299 - value = find_attr_value_('Latitude', node) - if value is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - value = self.gds_parse_decimal(value, node, 'Latitude') - self.Latitude = value - value = find_attr_value_('Longitude', node) - if value is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - value = self.gds_parse_decimal(value, node, 'Longitude') - self.Longitude = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PositionType298 - - -class ServicesType300(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType300) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType300.subclass: - return ServicesType300.subclass(*args_, **kwargs_) - else: - return ServicesType300(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType300', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType300') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType300': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType300') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType300', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType300'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType300', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType301.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType300 - - -class ServiceType301(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MealPlanCode = _cast(None, MealPlanCode) - self.MealPlanCode_nsprefix_ = None - self.ProximityCode = _cast(int, ProximityCode) - self.ProximityCode_nsprefix_ = None - self.Included = _cast(bool, Included) - self.Included_nsprefix_ = None - self.Features = Features - self.Features_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType301) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType301.subclass: - return ServiceType301.subclass(*args_, **kwargs_) - else: - return ServiceType301(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Features(self): - return self.Features - def set_Features(self, Features): - self.Features = Features - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MealPlanCode(self): - return self.MealPlanCode - def set_MealPlanCode(self, MealPlanCode): - self.MealPlanCode = MealPlanCode - def get_ProximityCode(self): - return self.ProximityCode - def set_ProximityCode(self, ProximityCode): - self.ProximityCode = ProximityCode - def get_Included(self): - return self.Included - def set_Included(self, Included): - self.Included = Included - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def validate_MealPlanCodeType304(self, value): - # Validate type MealPlanCodeType304, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType304' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.Features is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType301', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType301') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType301': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType301') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType301', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType301'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) - if self.ProximityCode is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) - if self.Included is not None and 'Included' not in already_processed: - already_processed.add('Included') - outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType301', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Features is not None: - namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' - self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code - value = find_attr_value_('MealPlanCode', node) - if value is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - self.MealPlanCode = value - self.validate_MealPlanCodeType304(self.MealPlanCode) # validate type MealPlanCodeType304 - value = find_attr_value_('ProximityCode', node) - if value is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') - if self.ProximityCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 - value = find_attr_value_('Included', node) - if value is not None and 'Included' not in already_processed: - already_processed.add('Included') - if value in ('true', '1'): - self.Included = True - elif value in ('false', '0'): - self.Included = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Included) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Features': - obj_ = FeaturesType302.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Features = obj_ - obj_.original_tagname_ = 'Features' -# end class ServiceType301 - - -class FeaturesType302(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Feature=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Feature is None: - self.Feature = [] - else: - self.Feature = Feature - self.Feature_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeaturesType302) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeaturesType302.subclass: - return FeaturesType302.subclass(*args_, **kwargs_) - else: - return FeaturesType302(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Feature(self): - return self.Feature - def set_Feature(self, Feature): - self.Feature = Feature - def add_Feature(self, value): - self.Feature.append(value) - def insert_Feature_at(self, index, value): - self.Feature.insert(index, value) - def replace_Feature_at(self, index, value): - self.Feature[index] = value - def has__content(self): - if ( - self.Feature - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType302', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType302') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeaturesType302': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType302') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType302', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType302'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType302', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Feature_ in self.Feature: - namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' - Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Feature': - obj_ = FeatureType303.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Feature.append(obj_) - obj_.original_tagname_ = 'Feature' -# end class FeaturesType302 - - -class FeatureType303(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AccessibleCode = _cast(int, AccessibleCode) - self.AccessibleCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeatureType303) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeatureType303.subclass: - return FeatureType303.subclass(*args_, **kwargs_) - else: - return FeatureType303(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AccessibleCode(self): - return self.AccessibleCode - def set_AccessibleCode(self, AccessibleCode): - self.AccessibleCode = AccessibleCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType303', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType303') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeatureType303': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType303') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType303', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType303'): - if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType303', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AccessibleCode', node) - if value is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') - if self.AccessibleCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class FeatureType303 - - -class FacilityInfoType305(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestRooms = GuestRooms - self.GuestRooms_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FacilityInfoType305) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FacilityInfoType305.subclass: - return FacilityInfoType305.subclass(*args_, **kwargs_) - else: - return FacilityInfoType305(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRooms(self): - return self.GuestRooms - def set_GuestRooms(self, GuestRooms): - self.GuestRooms = GuestRooms - def has__content(self): - if ( - self.GuestRooms is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType305', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType305') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FacilityInfoType305': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType305') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType305', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType305'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType305', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestRooms is not None: - namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' - self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRooms': - obj_ = GuestRoomsType306.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRooms = obj_ - obj_.original_tagname_ = 'GuestRooms' -# end class FacilityInfoType305 - - -class GuestRoomsType306(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestRoom is None: - self.GuestRoom = [] - else: - self.GuestRoom = GuestRoom - self.GuestRoom_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomsType306) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomsType306.subclass: - return GuestRoomsType306.subclass(*args_, **kwargs_) - else: - return GuestRoomsType306(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRoom(self): - return self.GuestRoom - def set_GuestRoom(self, GuestRoom): - self.GuestRoom = GuestRoom - def add_GuestRoom(self, value): - self.GuestRoom.append(value) - def insert_GuestRoom_at(self, index, value): - self.GuestRoom.insert(index, value) - def replace_GuestRoom_at(self, index, value): - self.GuestRoom[index] = value - def has__content(self): - if ( - self.GuestRoom - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType306', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType306') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomsType306': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType306') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType306', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType306'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType306', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestRoom_ in self.GuestRoom: - namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' - GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRoom': - obj_ = GuestRoomType307.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRoom.append(obj_) - obj_.original_tagname_ = 'GuestRoom' -# end class GuestRoomsType306 - - -class GuestRoomType307(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) - self.MaxChildOccupancy_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.TypeRoom = TypeRoom - self.TypeRoom_nsprefix_ = None - self.Amenities = Amenities - self.Amenities_nsprefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomType307) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomType307.subclass: - return GuestRoomType307.subclass(*args_, **kwargs_) - else: - return GuestRoomType307(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TypeRoom(self): - return self.TypeRoom - def set_TypeRoom(self, TypeRoom): - self.TypeRoom = TypeRoom - def get_Amenities(self): - return self.Amenities - def set_Amenities(self, Amenities): - self.Amenities = Amenities - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxChildOccupancy(self): - return self.MaxChildOccupancy - def set_MaxChildOccupancy(self, MaxChildOccupancy): - self.MaxChildOccupancy = MaxChildOccupancy - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TypeRoom is not None or - self.Amenities is not None or - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType307', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType307') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomType307': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType307') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType307', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType307'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType307', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TypeRoom is not None: - namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' - self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) - if self.Amenities is not None: - namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' - self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MaxChildOccupancy', node) - if value is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') - if self.MaxChildOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TypeRoom': - obj_ = TypeRoomType308.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TypeRoom = obj_ - obj_.original_tagname_ = 'TypeRoom' - elif nodeName_ == 'Amenities': - obj_ = AmenitiesType310.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenities = obj_ - obj_.original_tagname_ = 'Amenities' - elif nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType312.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class GuestRoomType307 - - -class TypeRoomType308(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StandardOccupancy = _cast(int, StandardOccupancy) - self.StandardOccupancy_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomID = _cast(None, RoomID) - self.RoomID_nsprefix_ = None - self.Size = _cast(int, Size) - self.Size_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TypeRoomType308) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TypeRoomType308.subclass: - return TypeRoomType308.subclass(*args_, **kwargs_) - else: - return TypeRoomType308(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StandardOccupancy(self): - return self.StandardOccupancy - def set_StandardOccupancy(self, StandardOccupancy): - self.StandardOccupancy = StandardOccupancy - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomID(self): - return self.RoomID - def set_RoomID(self, RoomID): - self.RoomID = RoomID - def get_Size(self): - return self.Size - def set_Size(self, Size): - self.Size = Size - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RoomTypeType309(self, value): - # Validate type RoomTypeType309, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType309' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType308', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType308') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TypeRoomType308': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType308') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType308', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType308'): - if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomID is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) - if self.Size is not None and 'Size' not in already_processed: - already_processed.add('Size') - outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType308', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StandardOccupancy', node) - if value is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') - if self.StandardOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomID', node) - if value is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - self.RoomID = value - self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 - value = find_attr_value_('Size', node) - if value is not None and 'Size' not in already_processed: - already_processed.add('Size') - self.Size = self.gds_parse_integer(value, node, 'Size') - if self.Size < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType309(self.RoomType) # validate type RoomTypeType309 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TypeRoomType308 - - -class AmenitiesType310(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Amenity is None: - self.Amenity = [] - else: - self.Amenity = Amenity - self.Amenity_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenitiesType310) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenitiesType310.subclass: - return AmenitiesType310.subclass(*args_, **kwargs_) - else: - return AmenitiesType310(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amenity(self): - return self.Amenity - def set_Amenity(self, Amenity): - self.Amenity = Amenity - def add_Amenity(self, value): - self.Amenity.append(value) - def insert_Amenity_at(self, index, value): - self.Amenity.insert(index, value) - def replace_Amenity_at(self, index, value): - self.Amenity[index] = value - def has__content(self): - if ( - self.Amenity - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType310', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType310') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenitiesType310': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType310') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType310', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType310'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType310', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Amenity_ in self.Amenity: - namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' - Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Amenity': - obj_ = AmenityType311.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenity.append(obj_) - obj_.original_tagname_ = 'Amenity' -# end class AmenitiesType310 - - -class AmenityType311(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomAmenityCode = _cast(None, RoomAmenityCode) - self.RoomAmenityCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenityType311) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenityType311.subclass: - return AmenityType311.subclass(*args_, **kwargs_) - else: - return AmenityType311(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomAmenityCode(self): - return self.RoomAmenityCode - def set_RoomAmenityCode(self, RoomAmenityCode): - self.RoomAmenityCode = RoomAmenityCode - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType311', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType311') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenityType311': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType311') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType311', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType311'): - if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType311', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomAmenityCode', node) - if value is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - self.RoomAmenityCode = value - self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmenityType311 - - -class MultimediaDescriptionsType312(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType312) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType312.subclass: - return MultimediaDescriptionsType312.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType312(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType312', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType312') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType312': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType312') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType312', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType312'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType312', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType313.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType312 - - -class MultimediaDescriptionType313(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType313) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType313.subclass: - return MultimediaDescriptionType313.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType313(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType325(self, value): - # Validate type InfoCodeType325, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 23, 25] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType325' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType325_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType325_patterns_, )) - validate_InfoCodeType325_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType313', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType313') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType313': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType313') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType313', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType313'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType313', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType325(self.InfoCode) # validate type InfoCodeType325 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType314.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType319.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' -# end class MultimediaDescriptionType313 - - -class TextItemsType314(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType314) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType314.subclass: - return TextItemsType314.subclass(*args_, **kwargs_) - else: - return TextItemsType314(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def has__content(self): - if ( - self.TextItem is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType314', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType314') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType314': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType314') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType314', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType314'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType314', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItem is not None: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType315.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem = obj_ - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType314 - - -class TextItemType315(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType315) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType315.subclass: - return TextItemType315.subclass(*args_, **kwargs_) - else: - return TextItemType315(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType315', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType315') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType315': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType315') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType315', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType315'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType315', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType316.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType315 - - -class DescriptionType316(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType316) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType316.subclass: - return DescriptionType316.subclass(*args_, **kwargs_) - else: - return DescriptionType316(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType317(self, value): - # Validate type TextFormatType317, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType317' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType318(self, value): - # Validate type LanguageType318, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType318_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType318_patterns_, )) - validate_LanguageType318_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType316', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType316') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType316': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType316') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType316'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType316', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType317(self.TextFormat) # validate type TextFormatType317 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType318(self.Language) # validate type LanguageType318 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType316 - - -class ImageItemsType319(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType319) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType319.subclass: - return ImageItemsType319.subclass(*args_, **kwargs_) - else: - return ImageItemsType319(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType319', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType319') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType319': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType319') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType319', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType319'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType319', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType320.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType319 - - -class ImageItemType320(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType320) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType320.subclass: - return ImageItemType320.subclass(*args_, **kwargs_) - else: - return ImageItemType320(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType320', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType320') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType320': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType320') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType320', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType320'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType320', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType321.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType322.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType320 - - -class ImageFormatType321(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType321) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType321.subclass: - return ImageFormatType321.subclass(*args_, **kwargs_) - else: - return ImageFormatType321(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType321', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType321') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType321': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType321') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType321', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType321'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType321', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType321 - - -class DescriptionType322(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType322) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType322.subclass: - return DescriptionType322.subclass(*args_, **kwargs_) - else: - return DescriptionType322(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType323(self, value): - # Validate type TextFormatType323, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType323' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType324(self, value): - # Validate type LanguageType324, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType324_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType324_patterns_, )) - validate_LanguageType324_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType322', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType322') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType322': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType322') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType322'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType322', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType323(self.TextFormat) # validate type TextFormatType323 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType324(self.Language) # validate type LanguageType324 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType322 - - -class PoliciesType326(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Policy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Policy is None: - self.Policy = [] - else: - self.Policy = Policy - self.Policy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PoliciesType326) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PoliciesType326.subclass: - return PoliciesType326.subclass(*args_, **kwargs_) - else: - return PoliciesType326(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Policy(self): - return self.Policy - def set_Policy(self, Policy): - self.Policy = Policy - def add_Policy(self, value): - self.Policy.append(value) - def insert_Policy_at(self, index, value): - self.Policy.insert(index, value) - def replace_Policy_at(self, index, value): - self.Policy[index] = value - def has__content(self): - if ( - self.Policy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType326', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType326') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PoliciesType326': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType326') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType326', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType326'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType326', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Policy_ in self.Policy: - namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' - Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Policy': - obj_ = PolicyType327.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policy.append(obj_) - obj_.original_tagname_ = 'Policy' -# end class PoliciesType326 - - -class PolicyType327(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPolicy = CancelPolicy - self.CancelPolicy_nsprefix_ = None - self.CheckoutCharges = CheckoutCharges - self.CheckoutCharges_nsprefix_ = None - self.PetsPolicies = PetsPolicies - self.PetsPolicies_nsprefix_ = None - self.TaxPolicies = TaxPolicies - self.TaxPolicies_nsprefix_ = None - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - self.GuaranteePaymentPolicy_nsprefix_ = None - self.PolicyInfo = PolicyInfo - self.PolicyInfo_nsprefix_ = None - self.StayRequirements = StayRequirements - self.StayRequirements_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyType327) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyType327.subclass: - return PolicyType327.subclass(*args_, **kwargs_) - else: - return PolicyType327(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPolicy(self): - return self.CancelPolicy - def set_CancelPolicy(self, CancelPolicy): - self.CancelPolicy = CancelPolicy - def get_CheckoutCharges(self): - return self.CheckoutCharges - def set_CheckoutCharges(self, CheckoutCharges): - self.CheckoutCharges = CheckoutCharges - def get_PetsPolicies(self): - return self.PetsPolicies - def set_PetsPolicies(self, PetsPolicies): - self.PetsPolicies = PetsPolicies - def get_TaxPolicies(self): - return self.TaxPolicies - def set_TaxPolicies(self, TaxPolicies): - self.TaxPolicies = TaxPolicies - def get_GuaranteePaymentPolicy(self): - return self.GuaranteePaymentPolicy - def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - def get_PolicyInfo(self): - return self.PolicyInfo - def set_PolicyInfo(self, PolicyInfo): - self.PolicyInfo = PolicyInfo - def get_StayRequirements(self): - return self.StayRequirements - def set_StayRequirements(self, StayRequirements): - self.StayRequirements = StayRequirements - def has__content(self): - if ( - self.CancelPolicy is not None or - self.CheckoutCharges is not None or - self.PetsPolicies is not None or - self.TaxPolicies is not None or - self.GuaranteePaymentPolicy is not None or - self.PolicyInfo is not None or - self.StayRequirements is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType327', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType327') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyType327': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType327') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType327', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType327'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType327', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPolicy is not None: - namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' - self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) - if self.CheckoutCharges is not None: - namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' - self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) - if self.PetsPolicies is not None: - namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' - self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) - if self.TaxPolicies is not None: - namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' - self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) - if self.GuaranteePaymentPolicy is not None: - namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' - self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) - if self.PolicyInfo is not None: - namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' - self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) - if self.StayRequirements is not None: - namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' - self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPolicy': - obj_ = CancelPolicyType328.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPolicy = obj_ - obj_.original_tagname_ = 'CancelPolicy' - elif nodeName_ == 'CheckoutCharges': - obj_ = CheckoutChargesType334.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharges = obj_ - obj_.original_tagname_ = 'CheckoutCharges' - elif nodeName_ == 'PetsPolicies': - obj_ = PetsPoliciesType340.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicies = obj_ - obj_.original_tagname_ = 'PetsPolicies' - elif nodeName_ == 'TaxPolicies': - obj_ = TaxPoliciesType346.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicies = obj_ - obj_.original_tagname_ = 'TaxPolicies' - elif nodeName_ == 'GuaranteePaymentPolicy': - obj_ = GuaranteePaymentPolicyType355.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePaymentPolicy = obj_ - obj_.original_tagname_ = 'GuaranteePaymentPolicy' - elif nodeName_ == 'PolicyInfo': - obj_ = PolicyInfoType370.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PolicyInfo = obj_ - obj_.original_tagname_ = 'PolicyInfo' - elif nodeName_ == 'StayRequirements': - obj_ = StayRequirementsType371.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirements = obj_ - obj_.original_tagname_ = 'StayRequirements' -# end class PolicyType327 - - -class CancelPolicyType328(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPolicyType328) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPolicyType328.subclass: - return CancelPolicyType328.subclass(*args_, **kwargs_) - else: - return CancelPolicyType328(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType328', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType328') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPolicyType328': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType328') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType328', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType328'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType328', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType329.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPolicyType328 - - -class CancelPenaltyType329(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType329) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType329.subclass: - return CancelPenaltyType329.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType329(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType329', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType329') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType329': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType329') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType329', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType329'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType329', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType330.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType329 - - -class PenaltyDescriptionType330(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType330) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType330.subclass: - return PenaltyDescriptionType330.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType330(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType330', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType330') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType330': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType330') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType330', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType330'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType330', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType331.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class PenaltyDescriptionType330 - - -class TextType331(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType331) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType331.subclass: - return TextType331.subclass(*args_, **kwargs_) - else: - return TextType331(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType332(self, value): - # Validate type TextFormatType332, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType332' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType333(self, value): - # Validate type LanguageType333, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType333_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType333_patterns_, )) - validate_LanguageType333_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType331', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType331') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType331': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType331') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType331'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType331', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType332(self.TextFormat) # validate type TextFormatType332 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType333(self.Language) # validate type LanguageType333 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType331 - - -class CheckoutChargesType334(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CheckoutCharge = CheckoutCharge - self.CheckoutCharge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargesType334) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargesType334.subclass: - return CheckoutChargesType334.subclass(*args_, **kwargs_) - else: - return CheckoutChargesType334(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CheckoutCharge(self): - return self.CheckoutCharge - def set_CheckoutCharge(self, CheckoutCharge): - self.CheckoutCharge = CheckoutCharge - def has__content(self): - if ( - self.CheckoutCharge is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType334', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType334') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargesType334': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType334') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType334', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType334'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType334', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CheckoutCharge is not None: - namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' - self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CheckoutCharge': - obj_ = CheckoutChargeType335.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharge = obj_ - obj_.original_tagname_ = 'CheckoutCharge' -# end class CheckoutChargesType334 - - -class CheckoutChargeType335(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargeType335) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargeType335.subclass: - return CheckoutChargeType335.subclass(*args_, **kwargs_) - else: - return CheckoutChargeType335(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType335', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType335') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargeType335': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType335') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType335', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType335'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType335', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType336.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class CheckoutChargeType335 - - -class DescriptionType336(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType336) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType336.subclass: - return DescriptionType336.subclass(*args_, **kwargs_) - else: - return DescriptionType336(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType336', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType336') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType336': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType336') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType336', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType336'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType336', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType337.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType336 - - -class TextType337(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType337) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType337.subclass: - return TextType337.subclass(*args_, **kwargs_) - else: - return TextType337(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType338(self, value): - # Validate type TextFormatType338, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType338' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType339(self, value): - # Validate type LanguageType339, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType339_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType339_patterns_, )) - validate_LanguageType339_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType337', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType337') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType337': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType337') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType337'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType337', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType338(self.TextFormat) # validate type TextFormatType338 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType339(self.Language) # validate type LanguageType339 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType337 - - -class PetsPoliciesType340(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PetsPolicy = PetsPolicy - self.PetsPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPoliciesType340) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPoliciesType340.subclass: - return PetsPoliciesType340.subclass(*args_, **kwargs_) - else: - return PetsPoliciesType340(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PetsPolicy(self): - return self.PetsPolicy - def set_PetsPolicy(self, PetsPolicy): - self.PetsPolicy = PetsPolicy - def has__content(self): - if ( - self.PetsPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType340', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType340') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPoliciesType340': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType340') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType340', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType340'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType340', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PetsPolicy is not None: - namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' - self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PetsPolicy': - obj_ = PetsPolicyType341.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicy = obj_ - obj_.original_tagname_ = 'PetsPolicy' -# end class PetsPoliciesType340 - - -class PetsPolicyType341(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MaxPetQuantity = _cast(int, MaxPetQuantity) - self.MaxPetQuantity_nsprefix_ = None - self.NonRefundableFee = _cast(float, NonRefundableFee) - self.NonRefundableFee_nsprefix_ = None - self.ChargeCode = _cast(int, ChargeCode) - self.ChargeCode_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPolicyType341) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPolicyType341.subclass: - return PetsPolicyType341.subclass(*args_, **kwargs_) - else: - return PetsPolicyType341(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_MaxPetQuantity(self): - return self.MaxPetQuantity - def set_MaxPetQuantity(self, MaxPetQuantity): - self.MaxPetQuantity = MaxPetQuantity - def get_NonRefundableFee(self): - return self.NonRefundableFee - def set_NonRefundableFee(self, NonRefundableFee): - self.NonRefundableFee = NonRefundableFee - def get_ChargeCode(self): - return self.ChargeCode - def set_ChargeCode(self, ChargeCode): - self.ChargeCode = ChargeCode - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType341', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType341') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPolicyType341': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType341') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType341', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType341'): - if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) - if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) - if self.ChargeCode is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType341', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MaxPetQuantity', node) - if value is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') - if self.MaxPetQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 - value = find_attr_value_('NonRefundableFee', node) - if value is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - value = self.gds_parse_decimal(value, node, 'NonRefundableFee') - self.NonRefundableFee = value - self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 - value = find_attr_value_('ChargeCode', node) - if value is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') - if self.ChargeCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType342.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class PetsPolicyType341 - - -class DescriptionType342(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType342) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType342.subclass: - return DescriptionType342.subclass(*args_, **kwargs_) - else: - return DescriptionType342(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType342', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType342') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType342': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType342') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType342', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType342'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType342', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType343.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType342 - - -class TextType343(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType343) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType343.subclass: - return TextType343.subclass(*args_, **kwargs_) - else: - return TextType343(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType344(self, value): - # Validate type TextFormatType344, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType344' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType345(self, value): - # Validate type LanguageType345, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType345_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType345_patterns_, )) - validate_LanguageType345_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType343', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType343') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType343': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType343') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType343'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType343', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType344(self.TextFormat) # validate type TextFormatType344 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType345(self.Language) # validate type LanguageType345 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType343 - - -class TaxPoliciesType346(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TaxPolicy = TaxPolicy - self.TaxPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPoliciesType346) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPoliciesType346.subclass: - return TaxPoliciesType346.subclass(*args_, **kwargs_) - else: - return TaxPoliciesType346(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxPolicy(self): - return self.TaxPolicy - def set_TaxPolicy(self, TaxPolicy): - self.TaxPolicy = TaxPolicy - def has__content(self): - if ( - self.TaxPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType346', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType346') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPoliciesType346': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType346') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType346', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType346'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType346', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxPolicy is not None: - namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' - self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxPolicy': - obj_ = TaxPolicyType347.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicy = obj_ - obj_.original_tagname_ = 'TaxPolicy' -# end class TaxPoliciesType346 - - -class TaxPolicyType347(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.ChargeFrequency = _cast(None, ChargeFrequency) - self.ChargeFrequency_nsprefix_ = None - self.ChargeUnit = _cast(None, ChargeUnit) - self.ChargeUnit_nsprefix_ = None - self.TaxDescription = TaxDescription - self.TaxDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPolicyType347) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPolicyType347.subclass: - return TaxPolicyType347.subclass(*args_, **kwargs_) - else: - return TaxPolicyType347(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxDescription(self): - return self.TaxDescription - def set_TaxDescription(self, TaxDescription): - self.TaxDescription = TaxDescription - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_ChargeFrequency(self): - return self.ChargeFrequency - def set_ChargeFrequency(self, ChargeFrequency): - self.ChargeFrequency = ChargeFrequency - def get_ChargeUnit(self): - return self.ChargeUnit - def set_ChargeUnit(self, ChargeUnit): - self.ChargeUnit = ChargeUnit - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_CodeType352(self, value): - # Validate type CodeType352, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType352' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeFrequencyType353(self, value): - # Validate type ChargeFrequencyType353, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType353' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeUnitType354(self, value): - # Validate type ChargeUnitType354, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['21'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType354' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.TaxDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType347', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType347') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPolicyType347': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType347') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType347', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType347'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) - if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType347', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxDescription is not None: - namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' - self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType352(self.Code) # validate type CodeType352 - value = find_attr_value_('ChargeFrequency', node) - if value is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - self.ChargeFrequency = value - self.validate_ChargeFrequencyType353(self.ChargeFrequency) # validate type ChargeFrequencyType353 - value = find_attr_value_('ChargeUnit', node) - if value is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - self.ChargeUnit = value - self.validate_ChargeUnitType354(self.ChargeUnit) # validate type ChargeUnitType354 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxDescription': - obj_ = TaxDescriptionType348.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxDescription = obj_ - obj_.original_tagname_ = 'TaxDescription' -# end class TaxPolicyType347 - - -class TaxDescriptionType348(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxDescriptionType348) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxDescriptionType348.subclass: - return TaxDescriptionType348.subclass(*args_, **kwargs_) - else: - return TaxDescriptionType348(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType348', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType348') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxDescriptionType348': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType348') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType348', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType348'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType348', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType349.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class TaxDescriptionType348 - - -class TextType349(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType349) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType349.subclass: - return TextType349.subclass(*args_, **kwargs_) - else: - return TextType349(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType350(self, value): - # Validate type TextFormatType350, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType350' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType351(self, value): - # Validate type LanguageType351, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType351_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType351_patterns_, )) - validate_LanguageType351_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType349', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType349') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType349': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType349') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType349'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType349', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType350(self.TextFormat) # validate type TextFormatType350 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType351(self.Language) # validate type LanguageType351 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType349 - - -class GuaranteePaymentPolicyType355(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentPolicyType355) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentPolicyType355.subclass: - return GuaranteePaymentPolicyType355.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentPolicyType355(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def has__content(self): - if ( - self.GuaranteePayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType355', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType355') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType355': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType355') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType355', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType355'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType355', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteePayment is not None: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType356.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment = obj_ - obj_.original_tagname_ = 'GuaranteePayment' -# end class GuaranteePaymentPolicyType355 - - -class GuaranteePaymentType356(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - self.Deadline = Deadline - self.Deadline_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType356) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType356.subclass: - return GuaranteePaymentType356.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType356(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Deadline(self): - return self.Deadline - def set_Deadline(self, Deadline): - self.Deadline = Deadline - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None or - self.Deadline is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType356', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType356') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType356': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType356') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType356', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType356'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType356', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - if self.Deadline is not None: - namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' - self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType357.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType368.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' - elif nodeName_ == 'Deadline': - obj_ = DeadlineType369.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Deadline = obj_ - obj_.original_tagname_ = 'Deadline' -# end class GuaranteePaymentType356 - - -class AcceptedPaymentsType357(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AcceptedPayment is None: - self.AcceptedPayment = [] - else: - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType357) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType357.subclass: - return AcceptedPaymentsType357.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType357(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def add_AcceptedPayment(self, value): - self.AcceptedPayment.append(value) - def insert_AcceptedPayment_at(self, index, value): - self.AcceptedPayment.insert(index, value) - def replace_AcceptedPayment_at(self, index, value): - self.AcceptedPayment[index] = value - def has__content(self): - if ( - self.AcceptedPayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType357', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType357') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType357': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType357') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType357', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType357'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType357', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AcceptedPayment_ in self.AcceptedPayment: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType358.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment.append(obj_) - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType357 - - -class AcceptedPaymentType358(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Cash = Cash - self.Cash_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType358) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType358.subclass: - return AcceptedPaymentType358.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType358(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Cash(self): - return self.Cash - def set_Cash(self, Cash): - self.Cash = Cash - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.BankAcct is not None or - self.Cash is not None or - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType358', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType358') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType358': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType358') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType358', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType358'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType358', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Cash is not None: - namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' - self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcct': - obj_ = BankAcctType359.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Cash': - obj_ = CashType365.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Cash = obj_ - obj_.original_tagname_ = 'Cash' - elif nodeName_ == 'PaymentCard': - obj_ = PaymentCardType366.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class AcceptedPaymentType358 - - -class BankAcctType359(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - self.BankID = BankID - self.BankID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType359) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType359.subclass: - return BankAcctType359.subclass(*args_, **kwargs_) - else: - return BankAcctType359(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def get_BankID(self): - return self.BankID - def set_BankID(self, BankID): - self.BankID = BankID - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None or - self.BankID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType359', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType359') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType359': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType359') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType359', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType359'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType359', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - if self.BankID is not None: - namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' - self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - obj_ = BankAcctNameType360.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctName = obj_ - obj_.original_tagname_ = 'BankAcctName' - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType361.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' - elif nodeName_ == 'BankID': - obj_ = BankIDType363.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankID = obj_ - obj_.original_tagname_ = 'BankID' -# end class BankAcctType359 - - -class BankAcctNameType360(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNameType360) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNameType360.subclass: - return BankAcctNameType360.subclass(*args_, **kwargs_) - else: - return BankAcctNameType360(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType360', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType360') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNameType360': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType360') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType360'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType360', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BankAcctNameType360 - - -class BankAcctNumberType361(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType361) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType361.subclass: - return BankAcctNumberType361.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType361(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType361', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType361') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType361': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType361') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType361', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType361'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType361', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType362.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankAcctNumberType361 - - -class PlainTextType362(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType362) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType362.subclass: - return PlainTextType362.subclass(*args_, **kwargs_) - else: - return PlainTextType362(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType362', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType362') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType362': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType362') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType362'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType362', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType362 - - -class BankIDType363(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankIDType363) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankIDType363.subclass: - return BankIDType363.subclass(*args_, **kwargs_) - else: - return BankIDType363(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType363', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType363') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankIDType363': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType363') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType363', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType363'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType363', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType364.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankIDType363 - - -class PlainTextType364(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType364) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType364.subclass: - return PlainTextType364.subclass(*args_, **kwargs_) - else: - return PlainTextType364(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType364', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType364') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType364': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType364') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType364'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType364', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType364 - - -class CashType365(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CashIndicator = _cast(bool, CashIndicator) - self.CashIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CashType365) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CashType365.subclass: - return CashType365.subclass(*args_, **kwargs_) - else: - return CashType365(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CashIndicator(self): - return self.CashIndicator - def set_CashIndicator(self, CashIndicator): - self.CashIndicator = CashIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType365', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType365') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CashType365': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType365') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType365', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType365'): - if self.CashIndicator is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType365', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CashIndicator', node) - if value is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - if value in ('true', '1'): - self.CashIndicator = True - elif value in ('false', '0'): - self.CashIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.CashIndicator) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CashType365 - - -class PaymentCardType366(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.CardType = CardType - self.CardType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType366) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType366.subclass: - return PaymentCardType366.subclass(*args_, **kwargs_) - else: - return PaymentCardType366(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardType(self): - return self.CardType - def set_CardType(self, CardType): - self.CardType = CardType - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CardType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType366', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType366') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType366': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType366') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType366', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType366'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType366', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardType is not None: - namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' - self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardType': - obj_ = CardTypeType367.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardType = obj_ - obj_.original_tagname_ = 'CardType' -# end class PaymentCardType366 - - -class CardTypeType367(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardTypeType367) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardTypeType367.subclass: - return CardTypeType367.subclass(*args_, **kwargs_) - else: - return CardTypeType367(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType367', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType367') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardTypeType367': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType367') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType367'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType367', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardTypeType367 - - -class AmountPercentType368(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(float, Percent) - self.Percent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType368) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType368.subclass: - return AmountPercentType368.subclass(*args_, **kwargs_) - else: - return AmountPercentType368(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType368', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType368') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType368': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType368') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType368', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType368'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType368', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - value = self.gds_parse_decimal(value, node, 'Percent') - self.Percent = value - self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType368 - - -class DeadlineType369(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OffsetDropTime = _cast(None, OffsetDropTime) - self.OffsetDropTime_nsprefix_ = None - self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) - self.OffsetTimeUnit_nsprefix_ = None - self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) - self.OffsetUnitMultiplier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DeadlineType369) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DeadlineType369.subclass: - return DeadlineType369.subclass(*args_, **kwargs_) - else: - return DeadlineType369(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OffsetDropTime(self): - return self.OffsetDropTime - def set_OffsetDropTime(self, OffsetDropTime): - self.OffsetDropTime = OffsetDropTime - def get_OffsetTimeUnit(self): - return self.OffsetTimeUnit - def set_OffsetTimeUnit(self, OffsetTimeUnit): - self.OffsetTimeUnit = OffsetTimeUnit - def get_OffsetUnitMultiplier(self): - return self.OffsetUnitMultiplier - def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): - self.OffsetUnitMultiplier = OffsetUnitMultiplier - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TimeUnitType(self, value): - # Validate type TimeUnitType, a restriction on StringLength1to16. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType369', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType369') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DeadlineType369': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType369') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType369', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType369'): - if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) - if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) - if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType369', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('OffsetDropTime', node) - if value is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - self.OffsetDropTime = value - self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string - value = find_attr_value_('OffsetTimeUnit', node) - if value is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - self.OffsetTimeUnit = value - self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType - value = find_attr_value_('OffsetUnitMultiplier', node) - if value is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') - if self.OffsetUnitMultiplier < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DeadlineType369 - - -class PolicyInfoType370(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestAge = _cast(int, MinGuestAge) - self.MinGuestAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyInfoType370) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyInfoType370.subclass: - return PolicyInfoType370.subclass(*args_, **kwargs_) - else: - return PolicyInfoType370(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MinGuestAge(self): - return self.MinGuestAge - def set_MinGuestAge(self, MinGuestAge): - self.MinGuestAge = MinGuestAge - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType370', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType370') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyInfoType370': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType370') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType370', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType370'): - if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType370', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestAge', node) - if value is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') - if self.MinGuestAge < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PolicyInfoType370 - - -class StayRequirementsType371(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if StayRequirement is None: - self.StayRequirement = [] - else: - self.StayRequirement = StayRequirement - self.StayRequirement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementsType371) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementsType371.subclass: - return StayRequirementsType371.subclass(*args_, **kwargs_) - else: - return StayRequirementsType371(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayRequirement(self): - return self.StayRequirement - def set_StayRequirement(self, StayRequirement): - self.StayRequirement = StayRequirement - def add_StayRequirement(self, value): - self.StayRequirement.append(value) - def insert_StayRequirement_at(self, index, value): - self.StayRequirement.insert(index, value) - def replace_StayRequirement_at(self, index, value): - self.StayRequirement[index] = value - def has__content(self): - if ( - self.StayRequirement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType371', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType371') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementsType371': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType371') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType371', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType371'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType371', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for StayRequirement_ in self.StayRequirement: - namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' - StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StayRequirement': - obj_ = StayRequirementType372.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirement.append(obj_) - obj_.original_tagname_ = 'StayRequirement' -# end class StayRequirementsType371 - - -class StayRequirementType372(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StayContext = _cast(None, StayContext) - self.StayContext_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementType372) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementType372.subclass: - return StayRequirementType372.subclass(*args_, **kwargs_) - else: - return StayRequirementType372(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayContext(self): - return self.StayContext - def set_StayContext(self, StayContext): - self.StayContext = StayContext - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_StayContextType373(self, value): - # Validate type StayContextType373, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Checkin', 'Checkout'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType373' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StartType374(self, value): - # Validate type StartType374, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_StartType374_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType374_patterns_, )) - validate_StartType374_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def validate_EndType375(self, value): - # Validate type EndType375, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_EndType375_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType375_patterns_, )) - validate_EndType375_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType372', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType372') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementType372': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType372') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType372', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType372'): - if self.StayContext is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType372', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StayContext', node) - if value is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - self.StayContext = value - self.validate_StayContextType373(self.StayContext) # validate type StayContextType373 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_StartType374(self.Start) # validate type StartType374 - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_EndType375(self.End) # validate type EndType375 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StayRequirementType372 - - -class AffiliationInfoType376(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Awards=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Awards = Awards - self.Awards_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AffiliationInfoType376) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AffiliationInfoType376.subclass: - return AffiliationInfoType376.subclass(*args_, **kwargs_) - else: - return AffiliationInfoType376(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Awards(self): - return self.Awards - def set_Awards(self, Awards): - self.Awards = Awards - def has__content(self): - if ( - self.Awards is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType376', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType376') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AffiliationInfoType376': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType376') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType376', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType376'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType376', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Awards is not None: - namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' - self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Awards': - obj_ = AwardsType377.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Awards = obj_ - obj_.original_tagname_ = 'Awards' -# end class AffiliationInfoType376 - - -class AwardsType377(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Award=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Award is None: - self.Award = [] - else: - self.Award = Award - self.Award_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardsType377) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardsType377.subclass: - return AwardsType377.subclass(*args_, **kwargs_) - else: - return AwardsType377(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Award(self): - return self.Award - def set_Award(self, Award): - self.Award = Award - def add_Award(self, value): - self.Award.append(value) - def insert_Award_at(self, index, value): - self.Award.insert(index, value) - def replace_Award_at(self, index, value): - self.Award[index] = value - def has__content(self): - if ( - self.Award - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType377', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType377') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardsType377': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType377') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType377', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType377'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType377', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Award_ in self.Award: - namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' - Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Award': - obj_ = AwardType378.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Award.append(obj_) - obj_.original_tagname_ = 'Award' -# end class AwardsType377 - - -class AwardType378(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Rating = _cast(float, Rating) - self.Rating_nsprefix_ = None - self.Provider = _cast(None, Provider) - self.Provider_nsprefix_ = None - self.RatingSymbol = _cast(None, RatingSymbol) - self.RatingSymbol_nsprefix_ = None - self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) - self.OfficialAppointmentInd_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardType378) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardType378.subclass: - return AwardType378.subclass(*args_, **kwargs_) - else: - return AwardType378(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rating(self): - return self.Rating - def set_Rating(self, Rating): - self.Rating = Rating - def get_Provider(self): - return self.Provider - def set_Provider(self, Provider): - self.Provider = Provider - def get_RatingSymbol(self): - return self.RatingSymbol - def set_RatingSymbol(self, RatingSymbol): - self.RatingSymbol = RatingSymbol - def get_OfficialAppointmentInd(self): - return self.OfficialAppointmentInd - def set_OfficialAppointmentInd(self, OfficialAppointmentInd): - self.OfficialAppointmentInd = OfficialAppointmentInd - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType378', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType378') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardType378': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType378') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType378', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType378'): - if self.Rating is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) - if self.Provider is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) - if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) - if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType378', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Rating', node) - if value is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - value = self.gds_parse_decimal(value, node, 'Rating') - self.Rating = value - self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 - value = find_attr_value_('Provider', node) - if value is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - self.Provider = value - self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string - value = find_attr_value_('RatingSymbol', node) - if value is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - self.RatingSymbol = value - self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string - value = find_attr_value_('OfficialAppointmentInd', node) - if value is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - if value in ('true', '1'): - self.OfficialAppointmentInd = True - elif value in ('false', '0'): - self.OfficialAppointmentInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AwardType378 - - -class ContactInfosType379(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ContactInfo = ContactInfo - self.ContactInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfosType379) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfosType379.subclass: - return ContactInfosType379.subclass(*args_, **kwargs_) - else: - return ContactInfosType379(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ContactInfo(self): - return self.ContactInfo - def set_ContactInfo(self, ContactInfo): - self.ContactInfo = ContactInfo - def has__content(self): - if ( - self.ContactInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType379', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType379') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfosType379': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType379') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType379', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType379'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType379', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ContactInfo is not None: - namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' - self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ContactInfo': - obj_ = ContactInfoType380.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfo = obj_ - obj_.original_tagname_ = 'ContactInfo' -# end class ContactInfosType379 - - -class ContactInfoType380(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = _cast(None, Location) - self.Location_nsprefix_ = None - self.Addresses = Addresses - self.Addresses_nsprefix_ = None - self.Phones = Phones - self.Phones_nsprefix_ = None - self.Emails = Emails - self.Emails_nsprefix_ = None - self.URLs = URLs - self.URLs_nsprefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfoType380) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfoType380.subclass: - return ContactInfoType380.subclass(*args_, **kwargs_) - else: - return ContactInfoType380(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Addresses(self): - return self.Addresses - def set_Addresses(self, Addresses): - self.Addresses = Addresses - def get_Phones(self): - return self.Phones - def set_Phones(self, Phones): - self.Phones = Phones - def get_Emails(self): - return self.Emails - def set_Emails(self, Emails): - self.Emails = Emails - def get_URLs(self): - return self.URLs - def set_URLs(self, URLs): - self.URLs = URLs - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def validate_LocationType395(self, value): - # Validate type LocationType395, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['6'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType395' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Addresses is not None or - self.Phones is not None or - self.Emails is not None or - self.URLs is not None or - self.CompanyName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType380', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType380') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfoType380': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType380') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType380', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType380'): - if self.Location is not None and 'Location' not in already_processed: - already_processed.add('Location') - outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType380', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Addresses is not None: - namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' - self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) - if self.Phones is not None: - namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' - self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) - if self.Emails is not None: - namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' - self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) - if self.URLs is not None: - namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' - self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Location', node) - if value is not None and 'Location' not in already_processed: - already_processed.add('Location') - self.Location = value - self.validate_LocationType395(self.Location) # validate type LocationType395 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Addresses': - obj_ = AddressesType381.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Addresses = obj_ - obj_.original_tagname_ = 'Addresses' - elif nodeName_ == 'Phones': - obj_ = PhonesType387.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phones = obj_ - obj_.original_tagname_ = 'Phones' - elif nodeName_ == 'Emails': - obj_ = EmailsType390.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Emails = obj_ - obj_.original_tagname_ = 'Emails' - elif nodeName_ == 'URLs': - obj_ = URLsType392.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URLs = obj_ - obj_.original_tagname_ = 'URLs' - elif nodeName_ == 'CompanyName': - obj_ = CompanyNameType394.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' -# end class ContactInfoType380 - - -class AddressesType381(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Address is None: - self.Address = [] - else: - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressesType381) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressesType381.subclass: - return AddressesType381.subclass(*args_, **kwargs_) - else: - return AddressesType381(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def add_Address(self, value): - self.Address.append(value) - def insert_Address_at(self, index, value): - self.Address.insert(index, value) - def replace_Address_at(self, index, value): - self.Address[index] = value - def has__content(self): - if ( - self.Address - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType381', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType381') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressesType381': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType381') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType381', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType381'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType381', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Address_ in self.Address: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Address': - obj_ = AddressType382.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address.append(obj_) - obj_.original_tagname_ = 'Address' -# end class AddressesType381 - - -class AddressType382(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.StateProv = StateProv - self.StateProv_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType382) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType382.subclass: - return AddressType382.subclass(*args_, **kwargs_) - else: - return AddressType382(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_StateProv(self): - return self.StateProv - def set_StateProv(self, StateProv): - self.StateProv = StateProv - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType386(self, value): - # Validate type LanguageType386, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType386_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType386_patterns_, )) - validate_LanguageType386_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.StateProv is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType382', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType382') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType382': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType382') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType382', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType382'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType382', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.StateProv is not None: - namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' - self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType386(self.Language) # validate type LanguageType386 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'StateProv': - obj_ = StateProvType383.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StateProv = obj_ - obj_.original_tagname_ = 'StateProv' - elif nodeName_ == 'CountryName': - obj_ = CountryNameType384.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType382 - - -class StateProvType383(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StateCode = _cast(None, StateCode) - self.StateCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StateProvType383) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StateProvType383.subclass: - return StateProvType383.subclass(*args_, **kwargs_) - else: - return StateProvType383(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StateCode(self): - return self.StateCode - def set_StateCode(self, StateCode): - self.StateCode = StateCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType383', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType383') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StateProvType383': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType383') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType383', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType383'): - if self.StateCode is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType383', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StateCode', node) - if value is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - self.StateCode = value - self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StateProvType383 - - -class CountryNameType384(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType384) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType384.subclass: - return CountryNameType384.subclass(*args_, **kwargs_) - else: - return CountryNameType384(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType385(self, value): - # Validate type CodeType385, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType385_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType385_patterns_, )) - validate_CodeType385_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType384', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType384') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType384': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType384') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType384', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType384'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType384', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType385(self.Code) # validate type CodeType385 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType384 - - -class PhonesType387(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Phone=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Phone is None: - self.Phone = [] - else: - self.Phone = Phone - self.Phone_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhonesType387) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhonesType387.subclass: - return PhonesType387.subclass(*args_, **kwargs_) - else: - return PhonesType387(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Phone(self): - return self.Phone - def set_Phone(self, Phone): - self.Phone = Phone - def add_Phone(self, value): - self.Phone.append(value) - def insert_Phone_at(self, index, value): - self.Phone.insert(index, value) - def replace_Phone_at(self, index, value): - self.Phone[index] = value - def has__content(self): - if ( - self.Phone - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType387', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType387') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhonesType387': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType387') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType387', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType387'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType387', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Phone_ in self.Phone: - namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' - Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Phone': - obj_ = PhoneType388.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phone.append(obj_) - obj_.original_tagname_ = 'Phone' -# end class PhonesType387 - - -class PhoneType388(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhoneType388) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhoneType388.subclass: - return PhoneType388.subclass(*args_, **kwargs_) - else: - return PhoneType388(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_PhoneNumberType389(self, value): - # Validate type PhoneNumberType389, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType389_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType389_patterns_, )) - validate_PhoneNumberType389_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType388', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType388') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhoneType388': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType388') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType388', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType388'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType388', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType389(self.PhoneNumber) # validate type PhoneNumberType389 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PhoneType388 - - -class EmailsType390(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Email is None: - self.Email = [] - else: - self.Email = Email - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailsType390) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailsType390.subclass: - return EmailsType390.subclass(*args_, **kwargs_) - else: - return EmailsType390(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def add_Email(self, value): - self.Email.append(value) - def insert_Email_at(self, index, value): - self.Email.insert(index, value) - def replace_Email_at(self, index, value): - self.Email[index] = value - def has__content(self): - if ( - self.Email - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType390', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType390') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailsType390': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType390') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType390', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType390'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType390', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Email_ in self.Email: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Email': - obj_ = EmailType391.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email.append(obj_) - obj_.original_tagname_ = 'Email' -# end class EmailsType390 - - -class EmailType391(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmailType = _cast(None, EmailType) - self.EmailType_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType391) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType391.subclass: - return EmailType391.subclass(*args_, **kwargs_) - else: - return EmailType391(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmailType(self): - return self.EmailType - def set_EmailType(self, EmailType): - self.EmailType = EmailType - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType391', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType391') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType391': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType391') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType391'): - if self.EmailType is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType391', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmailType', node) - if value is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - self.EmailType = value - self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType391 - - -class URLsType392(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLsType392) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLsType392.subclass: - return URLsType392.subclass(*args_, **kwargs_) - else: - return URLsType392(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def has__content(self): - if ( - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType392', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType392') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLsType392': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType392') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType392', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType392'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType392', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - obj_ = URLType393.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URL.append(obj_) - obj_.original_tagname_ = 'URL' -# end class URLsType392 - - -class URLType393(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType393) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType393.subclass: - return URLType393.subclass(*args_, **kwargs_) - else: - return URLType393(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_uppercase_string(self, value): - # Validate type def_uppercase_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_uppercase_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) - validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType393', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType393') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType393': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType393') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType393'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType393', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType393 - - -class CompanyNameType394(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType394) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType394.subclass: - return CompanyNameType394.subclass(*args_, **kwargs_) - else: - return CompanyNameType394(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_any_string(self, value): - result = True - # Validate type def_any_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType394', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType394') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType394': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType394') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType394'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType394', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType394 - - -class UniqueIDType396(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, Instance=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Instance = _cast(None, Instance) - self.Instance_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType396) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType396.subclass: - return UniqueIDType396.subclass(*args_, **kwargs_) - else: - return UniqueIDType396(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Instance(self): - return self.Instance - def set_Instance(self, Instance): - self.Instance = Instance - def validate_TypeType397(self, value): - # Validate type TypeType397, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType397' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InstanceType398(self, value): - # Validate type InstanceType398, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['CompleteSet'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InstanceType398' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType396', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType396') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType396': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType396') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType396', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType396'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Instance is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - outfile.write(' Instance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Instance), input_name='Instance')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType396', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType397(self.Type) # validate type TypeType397 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - value = find_attr_value_('Instance', node) - if value is not None and 'Instance' not in already_processed: - already_processed.add('Instance') - self.Instance = value - self.validate_InstanceType398(self.Instance) # validate type InstanceType398 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType396 - - -class RatePlansType399(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if RatePlan is None: - self.RatePlan = [] - else: - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType399) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType399.subclass: - return RatePlansType399.subclass(*args_, **kwargs_) - else: - return RatePlansType399(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def add_RatePlan(self, value): - self.RatePlan.append(value) - def insert_RatePlan_at(self, index, value): - self.RatePlan.insert(index, value) - def replace_RatePlan_at(self, index, value): - self.RatePlan[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RatePlan - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType399', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType399') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType399': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType399') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType399', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType399'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType399', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlan_ in self.RatePlan: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType400.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan.append(obj_) - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType399 - - -class RatePlanType400(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RatePlanNotifType = _cast(None, RatePlanNotifType) - self.RatePlanNotifType_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanType = _cast(None, RatePlanType) - self.RatePlanType_nsprefix_ = None - self.RatePlanCategory = _cast(None, RatePlanCategory) - self.RatePlanCategory_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - self.RatePlanQualifier = _cast(bool, RatePlanQualifier) - self.RatePlanQualifier_nsprefix_ = None - self.BookingRules = BookingRules - self.BookingRules_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - self.Supplements = Supplements - self.Supplements_nsprefix_ = None - self.Offers = Offers - self.Offers_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType400) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType400.subclass: - return RatePlanType400.subclass(*args_, **kwargs_) - else: - return RatePlanType400(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRules(self): - return self.BookingRules - def set_BookingRules(self, BookingRules): - self.BookingRules = BookingRules - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_Supplements(self): - return self.Supplements - def set_Supplements(self, Supplements): - self.Supplements = Supplements - def get_Offers(self): - return self.Offers - def set_Offers(self, Offers): - self.Offers = Offers - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RatePlanNotifType(self): - return self.RatePlanNotifType - def set_RatePlanNotifType(self, RatePlanNotifType): - self.RatePlanNotifType = RatePlanNotifType - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanType(self): - return self.RatePlanType - def set_RatePlanType(self, RatePlanType): - self.RatePlanType = RatePlanType - def get_RatePlanCategory(self): - return self.RatePlanCategory - def set_RatePlanCategory(self, RatePlanCategory): - self.RatePlanCategory = RatePlanCategory - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def get_RatePlanQualifier(self): - return self.RatePlanQualifier - def set_RatePlanQualifier(self, RatePlanQualifier): - self.RatePlanQualifier = RatePlanQualifier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RatePlanNotifTypeType(self, value): - # Validate type RatePlanNotifTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Overlay', 'New', 'Full', 'Remove'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RatePlanTypeType(self, value): - # Validate type RatePlanTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.BookingRules is not None or - self.Rates is not None or - self.Supplements is not None or - self.Offers is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType400', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType400') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType400': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType400') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType400', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType400'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanType is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) - if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType400', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BookingRules is not None: - namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' - self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - if self.Supplements is not None: - namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' - self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) - if self.Offers is not None: - namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' - self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RatePlanNotifType', node) - if value is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - self.RatePlanNotifType = value - self.validate_RatePlanNotifTypeType(self.RatePlanNotifType) # validate type RatePlanNotifTypeType - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanType', node) - if value is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - self.RatePlanType = value - self.validate_RatePlanTypeType(self.RatePlanType) # validate type RatePlanTypeType - value = find_attr_value_('RatePlanCategory', node) - if value is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - self.RatePlanCategory = value - self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - value = find_attr_value_('RatePlanQualifier', node) - if value is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - if value in ('true', '1'): - self.RatePlanQualifier = True - elif value in ('false', '0'): - self.RatePlanQualifier = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRules': - obj_ = BookingRulesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRules = obj_ - obj_.original_tagname_ = 'BookingRules' - elif nodeName_ == 'Rates': - obj_ = RatesType404.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' - elif nodeName_ == 'Supplements': - obj_ = SupplementsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplements = obj_ - obj_.original_tagname_ = 'Supplements' - elif nodeName_ == 'Offers': - obj_ = OffersType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offers = obj_ - obj_.original_tagname_ = 'Offers' - elif nodeName_ == 'Description': - obj_ = DescriptionType428.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class RatePlanType400 - - -class BookingRulesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BookingRule is None: - self.BookingRule = [] - else: - self.BookingRule = BookingRule - self.BookingRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRulesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRulesType.subclass: - return BookingRulesType.subclass(*args_, **kwargs_) - else: - return BookingRulesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRule(self): - return self.BookingRule - def set_BookingRule(self, BookingRule): - self.BookingRule = BookingRule - def add_BookingRule(self, value): - self.BookingRule.append(value) - def insert_BookingRule_at(self, index, value): - self.BookingRule.insert(index, value) - def replace_BookingRule_at(self, index, value): - self.BookingRule[index] = value - def has__content(self): - if ( - self.BookingRule - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRulesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BookingRule_ in self.BookingRule: - namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' - BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRule': - obj_ = BookingRuleType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRule.append(obj_) - obj_.original_tagname_ = 'BookingRule' -# end class BookingRulesType - - -class BookingRuleType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - self.RestrictionStatus = RestrictionStatus - self.RestrictionStatus_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRuleType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRuleType.subclass: - return BookingRuleType.subclass(*args_, **kwargs_) - else: - return BookingRuleType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_RestrictionStatus(self): - return self.RestrictionStatus - def set_RestrictionStatus(self, RestrictionStatus): - self.RestrictionStatus = RestrictionStatus - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_CodeContextType403(self, value): - # Validate type CodeContextType403, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType403' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.RestrictionStatus is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRuleType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType'): - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - if self.RestrictionStatus is not None: - namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' - self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType403(self.CodeContext) # validate type CodeContextType403 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'RestrictionStatus': - obj_ = RestrictionStatusType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RestrictionStatus = obj_ - obj_.original_tagname_ = 'RestrictionStatus' -# end class BookingRuleType - - -class LengthsOfStayType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType.subclass: - return LengthsOfStayType.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType - - -class LengthOfStayType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType.subclass: - return LengthOfStayType.subclass(*args_, **kwargs_) - else: - return LengthOfStayType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType401(self, value): - # Validate type TimeUnitType401, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType401' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType(self, value): - # Validate type MinMaxMessageTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType401(self.TimeUnit) # validate type TimeUnitType401 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType(self.MinMaxMessageType) # validate type MinMaxMessageTypeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType - - -class DOW_RestrictionsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType.subclass: - return DOW_RestrictionsType.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType - - -class ArrivalDaysOfWeekType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType.subclass: - return ArrivalDaysOfWeekType.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType - - -class DepartureDaysOfWeekType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType.subclass: - return DepartureDaysOfWeekType.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType - - -class RestrictionStatusType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Restriction = _cast(None, Restriction) - self.Restriction_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RestrictionStatusType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RestrictionStatusType.subclass: - return RestrictionStatusType.subclass(*args_, **kwargs_) - else: - return RestrictionStatusType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Restriction(self): - return self.Restriction - def set_Restriction(self, Restriction): - self.Restriction = Restriction - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def validate_RestrictionType(self, value): - # Validate type RestrictionType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Master'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StatusType402(self, value): - # Validate type StatusType402, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Open', 'Close'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType402' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RestrictionStatusType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType'): - if self.Restriction is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Restriction', node) - if value is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - self.Restriction = value - self.validate_RestrictionType(self.Restriction) # validate type RestrictionType - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType402(self.Status) # validate type StatusType402 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RestrictionStatusType - - -class RatesType404(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType404) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType404.subclass: - return RatesType404.subclass(*args_, **kwargs_) - else: - return RatesType404(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType404', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType404') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType404': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType404') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType404', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType404'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType404', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType405.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType404 - - -class RateType405(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestApplicable = _cast(int, MinGuestApplicable) - self.MinGuestApplicable_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.BaseByGuestAmts = BaseByGuestAmts - self.BaseByGuestAmts_nsprefix_ = None - self.AdditionalGuestAmounts = AdditionalGuestAmounts - self.AdditionalGuestAmounts_nsprefix_ = None - self.RateDescription = RateDescription - self.RateDescription_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType405) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType405.subclass: - return RateType405.subclass(*args_, **kwargs_) - else: - return RateType405(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmts(self): - return self.BaseByGuestAmts - def set_BaseByGuestAmts(self, BaseByGuestAmts): - self.BaseByGuestAmts = BaseByGuestAmts - def get_AdditionalGuestAmounts(self): - return self.AdditionalGuestAmounts - def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): - self.AdditionalGuestAmounts = AdditionalGuestAmounts - def get_RateDescription(self): - return self.RateDescription - def set_RateDescription(self, RateDescription): - self.RateDescription = RateDescription - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_MinGuestApplicable(self): - return self.MinGuestApplicable - def set_MinGuestApplicable(self, MinGuestApplicable): - self.MinGuestApplicable = MinGuestApplicable - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType413(self, value): - # Validate type RateTimeUnitType413, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType413' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_DurationType414(self, value): - # Validate type DurationType414, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType414_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType414_patterns_, )) - validate_DurationType414_patterns_ = [['^(P[0-9]+N)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.BaseByGuestAmts is not None or - self.AdditionalGuestAmounts is not None or - self.RateDescription is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType405', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType405') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType405': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType405') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType405', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType405'): - if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType405', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BaseByGuestAmts is not None: - namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' - self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) - if self.AdditionalGuestAmounts is not None: - namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' - self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) - if self.RateDescription is not None: - namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' - self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestApplicable', node) - if value is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') - if self.MinGuestApplicable <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType413(self.RateTimeUnit) # validate type RateTimeUnitType413 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType414(self.Duration) # validate type DurationType414 - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmts': - obj_ = BaseByGuestAmtsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmts = obj_ - obj_.original_tagname_ = 'BaseByGuestAmts' - elif nodeName_ == 'AdditionalGuestAmounts': - obj_ = AdditionalGuestAmountsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmounts = obj_ - obj_.original_tagname_ = 'AdditionalGuestAmounts' - elif nodeName_ == 'RateDescription': - obj_ = RateDescriptionType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RateDescription = obj_ - obj_.original_tagname_ = 'RateDescription' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType410.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RateType405 - - -class BaseByGuestAmtsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BaseByGuestAmt is None: - self.BaseByGuestAmt = [] - else: - self.BaseByGuestAmt = BaseByGuestAmt - self.BaseByGuestAmt_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtsType.subclass: - return BaseByGuestAmtsType.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmt(self): - return self.BaseByGuestAmt - def set_BaseByGuestAmt(self, BaseByGuestAmt): - self.BaseByGuestAmt = BaseByGuestAmt - def add_BaseByGuestAmt(self, value): - self.BaseByGuestAmt.append(value) - def insert_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt.insert(index, value) - def replace_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt[index] = value - def has__content(self): - if ( - self.BaseByGuestAmt - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BaseByGuestAmt_ in self.BaseByGuestAmt: - namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' - BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmt': - obj_ = BaseByGuestAmtType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmt.append(obj_) - obj_.original_tagname_ = 'BaseByGuestAmt' -# end class BaseByGuestAmtsType - - -class BaseByGuestAmtType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NumberOfGuests = _cast(int, NumberOfGuests) - self.NumberOfGuests_nsprefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtType.subclass: - return BaseByGuestAmtType.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NumberOfGuests(self): - return self.NumberOfGuests - def set_NumberOfGuests(self, NumberOfGuests): - self.NumberOfGuests = NumberOfGuests - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType406(self, value): - # Validate type TypeType406, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['7', '25'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType406' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType'): - if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('NumberOfGuests', node) - if value is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') - if self.NumberOfGuests <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType406(self.Type) # validate type TypeType406 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseByGuestAmtType - - -class AdditionalGuestAmountsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AdditionalGuestAmount is None: - self.AdditionalGuestAmount = [] - else: - self.AdditionalGuestAmount = AdditionalGuestAmount - self.AdditionalGuestAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountsType.subclass: - return AdditionalGuestAmountsType.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AdditionalGuestAmount(self): - return self.AdditionalGuestAmount - def set_AdditionalGuestAmount(self, AdditionalGuestAmount): - self.AdditionalGuestAmount = AdditionalGuestAmount - def add_AdditionalGuestAmount(self, value): - self.AdditionalGuestAmount.append(value) - def insert_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount.insert(index, value) - def replace_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount[index] = value - def has__content(self): - if ( - self.AdditionalGuestAmount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AdditionalGuestAmount_ in self.AdditionalGuestAmount: - namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' - AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AdditionalGuestAmount': - obj_ = AdditionalGuestAmountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmount.append(obj_) - obj_.original_tagname_ = 'AdditionalGuestAmount' -# end class AdditionalGuestAmountsType - - -class AdditionalGuestAmountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountType.subclass: - return AdditionalGuestAmountType.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AdditionalGuestAmountType - - -class RateDescriptionType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateDescriptionType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateDescriptionType.subclass: - return RateDescriptionType.subclass(*args_, **kwargs_) - else: - return RateDescriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType409(self, value): - # Validate type NameType409, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType409' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateDescriptionType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType409(self.Name) # validate type NameType409 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType407.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' -# end class RateDescriptionType - - -class ListItemType407(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType407) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType407.subclass: - return ListItemType407.subclass(*args_, **kwargs_) - else: - return ListItemType407(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType408(self, value): - # Validate type LanguageType408, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType408_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType408_patterns_, )) - validate_LanguageType408_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType407', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType407') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType407': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType407') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType407'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType407', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType408(self.Language) # validate type LanguageType408 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType407 - - -class MealsIncludedType410(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Breakfast = _cast(bool, Breakfast) - self.Breakfast_nsprefix_ = None - self.Lunch = _cast(bool, Lunch) - self.Lunch_nsprefix_ = None - self.Dinner = _cast(bool, Dinner) - self.Dinner_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType410) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType410.subclass: - return MealsIncludedType410.subclass(*args_, **kwargs_) - else: - return MealsIncludedType410(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Breakfast(self): - return self.Breakfast - def set_Breakfast(self, Breakfast): - self.Breakfast = Breakfast - def get_Lunch(self): - return self.Lunch - def set_Lunch(self, Lunch): - self.Lunch = Lunch - def get_Dinner(self): - return self.Dinner - def set_Dinner(self, Dinner): - self.Dinner = Dinner - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_MealPlanCodesType411(self, value): - # Validate type MealPlanCodesType411, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType411' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanIndicatorType412(self, value): - # Validate type MealPlanIndicatorType412, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType412' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType410', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType410') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType410': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType410') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType410', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType410'): - if self.Breakfast is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) - if self.Lunch is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) - if self.Dinner is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType410', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Breakfast', node) - if value is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - if value in ('true', '1'): - self.Breakfast = True - elif value in ('false', '0'): - self.Breakfast = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Breakfast) # validate type def_bool - value = find_attr_value_('Lunch', node) - if value is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - if value in ('true', '1'): - self.Lunch = True - elif value in ('false', '0'): - self.Lunch = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Lunch) # validate type def_bool - value = find_attr_value_('Dinner', node) - if value is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - if value in ('true', '1'): - self.Dinner = True - elif value in ('false', '0'): - self.Dinner = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Dinner) # validate type def_bool - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType411(self.MealPlanCodes) # validate type MealPlanCodesType411 - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType412(self.MealPlanIndicator) # validate type MealPlanIndicatorType412 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType410 - - -class SupplementsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Supplement is None: - self.Supplement = [] - else: - self.Supplement = Supplement - self.Supplement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementsType.subclass: - return SupplementsType.subclass(*args_, **kwargs_) - else: - return SupplementsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Supplement(self): - return self.Supplement - def set_Supplement(self, Supplement): - self.Supplement = Supplement - def add_Supplement(self, value): - self.Supplement.append(value) - def insert_Supplement_at(self, index, value): - self.Supplement.insert(index, value) - def replace_Supplement_at(self, index, value): - self.Supplement[index] = value - def has__content(self): - if ( - self.Supplement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Supplement_ in self.Supplement: - namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' - Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Supplement': - obj_ = SupplementType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplement.append(obj_) - obj_.original_tagname_ = 'Supplement' -# end class SupplementsType - - -class SupplementType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) - self.AddToBasicRateIndicator_nsprefix_ = None - self.ChargeTypeCode = _cast(None, ChargeTypeCode) - self.ChargeTypeCode_nsprefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.MandatoryIndicator = _cast(bool, MandatoryIndicator) - self.MandatoryIndicator_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.PrerequisiteInventory = PrerequisiteInventory - self.PrerequisiteInventory_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementType.subclass: - return SupplementType.subclass(*args_, **kwargs_) - else: - return SupplementType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PrerequisiteInventory(self): - return self.PrerequisiteInventory - def set_PrerequisiteInventory(self, PrerequisiteInventory): - self.PrerequisiteInventory = PrerequisiteInventory - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_AddToBasicRateIndicator(self): - return self.AddToBasicRateIndicator - def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): - self.AddToBasicRateIndicator = AddToBasicRateIndicator - def get_ChargeTypeCode(self): - return self.ChargeTypeCode - def set_ChargeTypeCode(self, ChargeTypeCode): - self.ChargeTypeCode = ChargeTypeCode - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_MandatoryIndicator(self): - return self.MandatoryIndicator - def set_MandatoryIndicator(self, MandatoryIndicator): - self.MandatoryIndicator = MandatoryIndicator - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_AddToBasicRateIndicatorType(self, value): - # Validate type AddToBasicRateIndicatorType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeTypeCodeType(self, value): - # Validate type ChargeTypeCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '12', '18', '19', '20', '21', '24'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_InvTypeType420(self, value): - # Validate type InvTypeType420, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType420' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.PrerequisiteInventory is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType'): - if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) - if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PrerequisiteInventory is not None: - namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' - self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AddToBasicRateIndicator', node) - if value is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - self.AddToBasicRateIndicator = value - self.validate_AddToBasicRateIndicatorType(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType - value = find_attr_value_('ChargeTypeCode', node) - if value is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - self.ChargeTypeCode = value - self.validate_ChargeTypeCodeType(self.ChargeTypeCode) # validate type ChargeTypeCodeType - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType420(self.InvType) # validate type InvTypeType420 - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('MandatoryIndicator', node) - if value is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - if value in ('true', '1'): - self.MandatoryIndicator = True - elif value in ('false', '0'): - self.MandatoryIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PrerequisiteInventory': - obj_ = PrerequisiteInventoryType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PrerequisiteInventory = obj_ - obj_.original_tagname_ = 'PrerequisiteInventory' - elif nodeName_ == 'Description': - obj_ = DescriptionType415.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class SupplementType - - -class PrerequisiteInventoryType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PrerequisiteInventoryType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PrerequisiteInventoryType.subclass: - return PrerequisiteInventoryType.subclass(*args_, **kwargs_) - else: - return PrerequisiteInventoryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InvTypeType(self, value): - # Validate type InvTypeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType'): - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType(self.InvType) # validate type InvTypeType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PrerequisiteInventoryType - - -class DescriptionType415(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType415) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType415.subclass: - return DescriptionType415.subclass(*args_, **kwargs_) - else: - return DescriptionType415(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType419(self, value): - # Validate type NameType419, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType419' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType415', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType415') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType415': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType415') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType415', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType415'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType415', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType419(self.Name) # validate type NameType419 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType416.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType415 - - -class TextType416(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType416) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType416.subclass: - return TextType416.subclass(*args_, **kwargs_) - else: - return TextType416(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType417(self, value): - # Validate type TextFormatType417, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType417' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType418(self, value): - # Validate type LanguageType418, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType418_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType418_patterns_, )) - validate_LanguageType418_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType416', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType416') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType416': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType416') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType416'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType416', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType417(self.TextFormat) # validate type TextFormatType417 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType418(self.Language) # validate type LanguageType418 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType416 - - -class OffersType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Offer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Offer is None: - self.Offer = [] - else: - self.Offer = Offer - self.Offer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OffersType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OffersType.subclass: - return OffersType.subclass(*args_, **kwargs_) - else: - return OffersType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Offer(self): - return self.Offer - def set_Offer(self, Offer): - self.Offer = Offer - def add_Offer(self, value): - self.Offer.append(value) - def insert_Offer_at(self, index, value): - self.Offer.insert(index, value) - def replace_Offer_at(self, index, value): - self.Offer[index] = value - def has__content(self): - if ( - self.Offer - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OffersType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Offer_ in self.Offer: - namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' - Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Offer': - obj_ = OfferType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offer.append(obj_) - obj_.original_tagname_ = 'Offer' -# end class OffersType - - -class OfferType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRules = OfferRules - self.OfferRules_nsprefix_ = None - self.Discount = Discount - self.Discount_nsprefix_ = None - self.Guests = Guests - self.Guests_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferType.subclass: - return OfferType.subclass(*args_, **kwargs_) - else: - return OfferType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRules(self): - return self.OfferRules - def set_OfferRules(self, OfferRules): - self.OfferRules = OfferRules - def get_Discount(self): - return self.Discount - def set_Discount(self, Discount): - self.Discount = Discount - def get_Guests(self): - return self.Guests - def set_Guests(self, Guests): - self.Guests = Guests - def has__content(self): - if ( - self.OfferRules is not None or - self.Discount is not None or - self.Guests is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRules is not None: - namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' - self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) - if self.Discount is not None: - namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' - self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) - if self.Guests is not None: - namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' - self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRules': - obj_ = OfferRulesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRules = obj_ - obj_.original_tagname_ = 'OfferRules' - elif nodeName_ == 'Discount': - obj_ = DiscountType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Discount = obj_ - obj_.original_tagname_ = 'Discount' - elif nodeName_ == 'Guests': - obj_ = GuestsType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guests = obj_ - obj_.original_tagname_ = 'Guests' -# end class OfferType - - -class OfferRulesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRule = OfferRule - self.OfferRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRulesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRulesType.subclass: - return OfferRulesType.subclass(*args_, **kwargs_) - else: - return OfferRulesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRule(self): - return self.OfferRule - def set_OfferRule(self, OfferRule): - self.OfferRule = OfferRule - def has__content(self): - if ( - self.OfferRule is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRulesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRule is not None: - namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' - self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRule': - obj_ = OfferRuleType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRule = obj_ - obj_.original_tagname_ = 'OfferRule' -# end class OfferRulesType - - -class OfferRuleType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) - self.MinAdvancedBookingOffset_nsprefix_ = None - self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) - self.MaxAdvancedBookingOffset_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - if Occupancy is None: - self.Occupancy = [] - else: - self.Occupancy = Occupancy - self.Occupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRuleType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRuleType.subclass: - return OfferRuleType.subclass(*args_, **kwargs_) - else: - return OfferRuleType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_Occupancy(self): - return self.Occupancy - def set_Occupancy(self, Occupancy): - self.Occupancy = Occupancy - def add_Occupancy(self, value): - self.Occupancy.append(value) - def insert_Occupancy_at(self, index, value): - self.Occupancy.insert(index, value) - def replace_Occupancy_at(self, index, value): - self.Occupancy[index] = value - def get_MinAdvancedBookingOffset(self): - return self.MinAdvancedBookingOffset - def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): - self.MinAdvancedBookingOffset = MinAdvancedBookingOffset - def get_MaxAdvancedBookingOffset(self): - return self.MaxAdvancedBookingOffset - def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): - self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset - def validate_MinAdvancedBookingOffsetType(self, value): - # Validate type MinAdvancedBookingOffsetType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MinAdvancedBookingOffsetType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType_patterns_, )) - validate_MinAdvancedBookingOffsetType_patterns_ = [['^(P[0-9]+D)$']] - def validate_MaxAdvancedBookingOffsetType(self, value): - # Validate type MaxAdvancedBookingOffsetType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaxAdvancedBookingOffsetType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType_patterns_, )) - validate_MaxAdvancedBookingOffsetType_patterns_ = [['^(P[0-9]+D)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.Occupancy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRuleType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType'): - if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) - if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - for Occupancy_ in self.Occupancy: - namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' - Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinAdvancedBookingOffset', node) - if value is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - self.MinAdvancedBookingOffset = value - self.validate_MinAdvancedBookingOffsetType(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType - value = find_attr_value_('MaxAdvancedBookingOffset', node) - if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - self.MaxAdvancedBookingOffset = value - self.validate_MaxAdvancedBookingOffsetType(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType421.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType425.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'Occupancy': - obj_ = OccupancyType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Occupancy.append(obj_) - obj_.original_tagname_ = 'Occupancy' -# end class OfferRuleType - - -class LengthsOfStayType421(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType421) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType421.subclass: - return LengthsOfStayType421.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType421(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType421', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType421') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType421': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType421') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType421', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType421'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType421', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType422.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType421 - - -class LengthOfStayType422(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType422) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType422.subclass: - return LengthOfStayType422.subclass(*args_, **kwargs_) - else: - return LengthOfStayType422(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType423(self, value): - # Validate type TimeUnitType423, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType423' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType424(self, value): - # Validate type MinMaxMessageTypeType424, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetMaxLOS', ''] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType424' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType422', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType422') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType422': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType422') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType422', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType422'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType422', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType423(self.TimeUnit) # validate type TimeUnitType423 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType424(self.MinMaxMessageType) # validate type MinMaxMessageTypeType424 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType422 - - -class DOW_RestrictionsType425(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType425) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType425.subclass: - return DOW_RestrictionsType425.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType425(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType425', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType425') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType425': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType425') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType425', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType425'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType425', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType426.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType427.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType425 - - -class ArrivalDaysOfWeekType426(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType426) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType426.subclass: - return ArrivalDaysOfWeekType426.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType426(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType426', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType426') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType426': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType426') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType426', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType426'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType426', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType426 - - -class DepartureDaysOfWeekType427(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType427) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType427.subclass: - return DepartureDaysOfWeekType427.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType427(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType427', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType427') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType427': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType427') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType427', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType427'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType427', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType427 - - -class OccupancyType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OccupancyType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OccupancyType.subclass: - return OccupancyType.subclass(*args_, **kwargs_) - else: - return OccupancyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def validate_AgeQualifyingCodeType(self, value): - # Validate type AgeQualifyingCodeType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['8', '10'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OccupancyType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = value - self.validate_AgeQualifyingCodeType(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class OccupancyType - - -class DiscountType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(None, Percent) - self.Percent_nsprefix_ = None - self.NightsRequired = _cast(int, NightsRequired) - self.NightsRequired_nsprefix_ = None - self.NightsDiscounted = _cast(int, NightsDiscounted) - self.NightsDiscounted_nsprefix_ = None - self.DiscountPattern = _cast(None, DiscountPattern) - self.DiscountPattern_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DiscountType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DiscountType.subclass: - return DiscountType.subclass(*args_, **kwargs_) - else: - return DiscountType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def get_NightsRequired(self): - return self.NightsRequired - def set_NightsRequired(self, NightsRequired): - self.NightsRequired = NightsRequired - def get_NightsDiscounted(self): - return self.NightsDiscounted - def set_NightsDiscounted(self, NightsDiscounted): - self.NightsDiscounted = NightsDiscounted - def get_DiscountPattern(self): - return self.DiscountPattern - def set_DiscountPattern(self, DiscountPattern): - self.DiscountPattern = DiscountPattern - def validate_PercentType(self, value): - # Validate type PercentType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['100'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_DiscountPatternType(self, value): - # Validate type DiscountPatternType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DiscountPatternType_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType_patterns_, )) - validate_DiscountPatternType_patterns_ = [['^(0*1*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DiscountType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) - if self.NightsRequired is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) - if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) - if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = value - self.validate_PercentType(self.Percent) # validate type PercentType - value = find_attr_value_('NightsRequired', node) - if value is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') - if self.NightsRequired <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 - value = find_attr_value_('NightsDiscounted', node) - if value is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') - if self.NightsDiscounted <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 - value = find_attr_value_('DiscountPattern', node) - if value is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - self.DiscountPattern = value - self.validate_DiscountPatternType(self.DiscountPattern) # validate type DiscountPatternType - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DiscountType - - -class GuestsType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Guest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Guest = Guest - self.Guest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestsType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestsType.subclass: - return GuestsType.subclass(*args_, **kwargs_) - else: - return GuestsType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Guest(self): - return self.Guest - def set_Guest(self, Guest): - self.Guest = Guest - def has__content(self): - if ( - self.Guest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestsType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Guest is not None: - namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' - self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Guest': - obj_ = GuestType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guest = obj_ - obj_.original_tagname_ = 'Guest' -# end class GuestsType - - -class GuestType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinCount = _cast(int, MinCount) - self.MinCount_nsprefix_ = None - self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) - self.FirstQualifyingPosition_nsprefix_ = None - self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) - self.LastQualifyingPosition_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestType.subclass: - return GuestType.subclass(*args_, **kwargs_) - else: - return GuestType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinCount(self): - return self.MinCount - def set_MinCount(self, MinCount): - self.MinCount = MinCount - def get_FirstQualifyingPosition(self): - return self.FirstQualifyingPosition - def set_FirstQualifyingPosition(self, FirstQualifyingPosition): - self.FirstQualifyingPosition = FirstQualifyingPosition - def get_LastQualifyingPosition(self): - return self.LastQualifyingPosition - def set_LastQualifyingPosition(self, LastQualifyingPosition): - self.LastQualifyingPosition = LastQualifyingPosition - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_FirstQualifyingPositionType(self, value): - # Validate type FirstQualifyingPositionType, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinCount is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) - if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) - if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinCount', node) - if value is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - self.MinCount = self.gds_parse_integer(value, node, 'MinCount') - if self.MinCount < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 - value = find_attr_value_('FirstQualifyingPosition', node) - if value is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - self.FirstQualifyingPosition = value - self.validate_FirstQualifyingPositionType(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType - value = find_attr_value_('LastQualifyingPosition', node) - if value is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') - if self.LastQualifyingPosition <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestType - - -class DescriptionType428(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType428) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType428.subclass: - return DescriptionType428.subclass(*args_, **kwargs_) - else: - return DescriptionType428(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType432(self, value): - # Validate type NameType432, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType432' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType428', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType428') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType428': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType428') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType428', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType428'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType428', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType432(self.Name) # validate type NameType432 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType429.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType428 - - -class TextType429(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType429) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType429.subclass: - return TextType429.subclass(*args_, **kwargs_) - else: - return TextType429(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType430(self, value): - # Validate type TextFormatType430, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType430' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType431(self, value): - # Validate type LanguageType431, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType431_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType431_patterns_, )) - validate_LanguageType431_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType429', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType429') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType429': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType429') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType429'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType429', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType430(self.TextFormat) # validate type TextFormatType430 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType431(self.Language) # validate type LanguageType431 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType429 - - -class ErrorsType433(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType433) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType433.subclass: - return ErrorsType433.subclass(*args_, **kwargs_) - else: - return ErrorsType433(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType433', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType433') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType433': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType433') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType433', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType433'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType433', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType434.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType433 - - -class ErrorType434(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType434) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType434.subclass: - return ErrorType434.subclass(*args_, **kwargs_) - else: - return ErrorType434(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType435(self, value): - # Validate type TypeType435, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType435' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType434', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType434') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType434': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType434') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType434'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType434', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType435(self.Type) # validate type TypeType435 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType434 - - -class WarningsType436(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType436) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType436.subclass: - return WarningsType436.subclass(*args_, **kwargs_) - else: - return WarningsType436(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType436', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType436') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType436': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType436') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType436', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType436'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType436', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType437.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType436 - - -class WarningType437(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType437) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType437.subclass: - return WarningType437.subclass(*args_, **kwargs_) - else: - return WarningType437(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType437', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType437') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType437': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType437') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType437'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType437', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType437 - - -class RatePlansType438(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType438) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType438.subclass: - return RatePlansType438.subclass(*args_, **kwargs_) - else: - return RatePlansType438(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType438', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType438') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType438': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType438') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType438', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType438'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType438', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType439.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType438 - - -class RatePlanType439(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, DateRange=None, RatePlanCandidates=None, HotelRef=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if DateRange is None: - self.DateRange = [] - else: - self.DateRange = DateRange - self.DateRange_nsprefix_ = None - if RatePlanCandidates is None: - self.RatePlanCandidates = [] - else: - self.RatePlanCandidates = RatePlanCandidates - self.RatePlanCandidates_nsprefix_ = None - if HotelRef is None: - self.HotelRef = [] - else: - self.HotelRef = HotelRef - self.HotelRef_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType439) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType439.subclass: - return RatePlanType439.subclass(*args_, **kwargs_) - else: - return RatePlanType439(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_DateRange(self): - return self.DateRange - def set_DateRange(self, DateRange): - self.DateRange = DateRange - def add_DateRange(self, value): - self.DateRange.append(value) - def insert_DateRange_at(self, index, value): - self.DateRange.insert(index, value) - def replace_DateRange_at(self, index, value): - self.DateRange[index] = value - def get_RatePlanCandidates(self): - return self.RatePlanCandidates - def set_RatePlanCandidates(self, RatePlanCandidates): - self.RatePlanCandidates = RatePlanCandidates - def add_RatePlanCandidates(self, value): - self.RatePlanCandidates.append(value) - def insert_RatePlanCandidates_at(self, index, value): - self.RatePlanCandidates.insert(index, value) - def replace_RatePlanCandidates_at(self, index, value): - self.RatePlanCandidates[index] = value - def get_HotelRef(self): - return self.HotelRef - def set_HotelRef(self, HotelRef): - self.HotelRef = HotelRef - def add_HotelRef(self, value): - self.HotelRef.append(value) - def insert_HotelRef_at(self, index, value): - self.HotelRef.insert(index, value) - def replace_HotelRef_at(self, index, value): - self.HotelRef[index] = value - def has__content(self): - if ( - self.DateRange or - self.RatePlanCandidates or - self.HotelRef - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType439', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType439') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType439': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType439') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType439', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType439'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType439', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for DateRange_ in self.DateRange: - namespaceprefix_ = self.DateRange_nsprefix_ + ':' if (UseCapturedNS_ and self.DateRange_nsprefix_) else '' - DateRange_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DateRange', pretty_print=pretty_print) - for RatePlanCandidates_ in self.RatePlanCandidates: - namespaceprefix_ = self.RatePlanCandidates_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlanCandidates_nsprefix_) else '' - RatePlanCandidates_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlanCandidates', pretty_print=pretty_print) - for HotelRef_ in self.HotelRef: - namespaceprefix_ = self.HotelRef_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelRef_nsprefix_) else '' - HotelRef_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelRef', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'DateRange': - obj_ = DateRangeType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DateRange.append(obj_) - obj_.original_tagname_ = 'DateRange' - elif nodeName_ == 'RatePlanCandidates': - obj_ = RatePlanCandidatesType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlanCandidates.append(obj_) - obj_.original_tagname_ = 'RatePlanCandidates' - elif nodeName_ == 'HotelRef': - obj_ = HotelRefType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelRef.append(obj_) - obj_.original_tagname_ = 'HotelRef' -# end class RatePlanType439 - - -class DateRangeType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DateRangeType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DateRangeType.subclass: - return DateRangeType.subclass(*args_, **kwargs_) - else: - return DateRangeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DateRangeType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DateRangeType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DateRangeType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DateRangeType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DateRangeType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DateRangeType'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DateRangeType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DateRangeType - - -class RatePlanCandidatesType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCandidate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if RatePlanCandidate is None: - self.RatePlanCandidate = [] - else: - self.RatePlanCandidate = RatePlanCandidate - self.RatePlanCandidate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanCandidatesType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanCandidatesType.subclass: - return RatePlanCandidatesType.subclass(*args_, **kwargs_) - else: - return RatePlanCandidatesType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlanCandidate(self): - return self.RatePlanCandidate - def set_RatePlanCandidate(self, RatePlanCandidate): - self.RatePlanCandidate = RatePlanCandidate - def add_RatePlanCandidate(self, value): - self.RatePlanCandidate.append(value) - def insert_RatePlanCandidate_at(self, index, value): - self.RatePlanCandidate.insert(index, value) - def replace_RatePlanCandidate_at(self, index, value): - self.RatePlanCandidate[index] = value - def has__content(self): - if ( - self.RatePlanCandidate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanCandidatesType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanCandidatesType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanCandidatesType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanCandidatesType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanCandidatesType', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanCandidatesType'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanCandidatesType', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlanCandidate_ in self.RatePlanCandidate: - namespaceprefix_ = self.RatePlanCandidate_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlanCandidate_nsprefix_) else '' - RatePlanCandidate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlanCandidate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlanCandidate': - obj_ = RatePlanCandidateType.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlanCandidate.append(obj_) - obj_.original_tagname_ = 'RatePlanCandidate' -# end class RatePlanCandidatesType - - -class RatePlanCandidateType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, RatePlanID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanCandidateType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanCandidateType.subclass: - return RatePlanCandidateType.subclass(*args_, **kwargs_) - else: - return RatePlanCandidateType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RatePlanCandidateType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanCandidateType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanCandidateType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanCandidateType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanCandidateType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanCandidateType'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RatePlanCandidateType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RatePlanCandidateType - - -class HotelRefType(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelRefType) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelRefType.subclass: - return HotelRefType.subclass(*args_, **kwargs_) - else: - return HotelRefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelRefType', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelRefType') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelRefType': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelRefType') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelRefType', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelRefType'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelRefType', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelRefType - - -class ErrorsType440(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType440) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType440.subclass: - return ErrorsType440.subclass(*args_, **kwargs_) - else: - return ErrorsType440(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType440', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType440') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType440': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType440') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType440', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType440'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType440', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType441.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType440 - - -class ErrorType441(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType441) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType441.subclass: - return ErrorType441.subclass(*args_, **kwargs_) - else: - return ErrorType441(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType442(self, value): - # Validate type TypeType442, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType442' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType441', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType441') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType441': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType441') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType441'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType441', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType442(self.Type) # validate type TypeType442 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Code) # validate type def_int_ge0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType441 - - -class WarningsType443(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType443) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType443.subclass: - return WarningsType443.subclass(*args_, **kwargs_) - else: - return WarningsType443(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType443', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType443') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType443': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType443') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType443', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType443'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType443', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType444.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType443 - - -class WarningType444(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType444) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType444.subclass: - return WarningType444.subclass(*args_, **kwargs_) - else: - return WarningType444(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType444', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType444') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType444': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType444') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType444'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType444', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType444 - - -class RatePlansType445(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if RatePlan is None: - self.RatePlan = [] - else: - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType445) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType445.subclass: - return RatePlansType445.subclass(*args_, **kwargs_) - else: - return RatePlansType445(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def add_RatePlan(self, value): - self.RatePlan.append(value) - def insert_RatePlan_at(self, index, value): - self.RatePlan.insert(index, value) - def replace_RatePlan_at(self, index, value): - self.RatePlan[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RatePlan - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType445', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType445') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType445': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType445') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType445', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType445'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType445', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlan_ in self.RatePlan: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType446.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan.append(obj_) - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType445 - - -class RatePlanType446(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RatePlanNotifType = _cast(None, RatePlanNotifType) - self.RatePlanNotifType_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanType = _cast(None, RatePlanType) - self.RatePlanType_nsprefix_ = None - self.RatePlanCategory = _cast(None, RatePlanCategory) - self.RatePlanCategory_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - self.RatePlanQualifier = _cast(bool, RatePlanQualifier) - self.RatePlanQualifier_nsprefix_ = None - self.BookingRules = BookingRules - self.BookingRules_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - self.Supplements = Supplements - self.Supplements_nsprefix_ = None - self.Offers = Offers - self.Offers_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType446) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType446.subclass: - return RatePlanType446.subclass(*args_, **kwargs_) - else: - return RatePlanType446(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRules(self): - return self.BookingRules - def set_BookingRules(self, BookingRules): - self.BookingRules = BookingRules - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_Supplements(self): - return self.Supplements - def set_Supplements(self, Supplements): - self.Supplements = Supplements - def get_Offers(self): - return self.Offers - def set_Offers(self, Offers): - self.Offers = Offers - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RatePlanNotifType(self): - return self.RatePlanNotifType - def set_RatePlanNotifType(self, RatePlanNotifType): - self.RatePlanNotifType = RatePlanNotifType - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanType(self): - return self.RatePlanType - def set_RatePlanType(self, RatePlanType): - self.RatePlanType = RatePlanType - def get_RatePlanCategory(self): - return self.RatePlanCategory - def set_RatePlanCategory(self, RatePlanCategory): - self.RatePlanCategory = RatePlanCategory - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def get_RatePlanQualifier(self): - return self.RatePlanQualifier - def set_RatePlanQualifier(self, RatePlanQualifier): - self.RatePlanQualifier = RatePlanQualifier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RatePlanNotifTypeType514(self, value): - # Validate type RatePlanNotifTypeType514, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Overlay', 'New', 'Full', 'Remove'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType514' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RatePlanTypeType515(self, value): - # Validate type RatePlanTypeType515, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType515' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.BookingRules is not None or - self.Rates is not None or - self.Supplements is not None or - self.Offers is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType446', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType446') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType446': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType446') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType446', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType446'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanType is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) - if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType446', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BookingRules is not None: - namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' - self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - if self.Supplements is not None: - namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' - self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) - if self.Offers is not None: - namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' - self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RatePlanNotifType', node) - if value is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - self.RatePlanNotifType = value - self.validate_RatePlanNotifTypeType514(self.RatePlanNotifType) # validate type RatePlanNotifTypeType514 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanType', node) - if value is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - self.RatePlanType = value - self.validate_RatePlanTypeType515(self.RatePlanType) # validate type RatePlanTypeType515 - value = find_attr_value_('RatePlanCategory', node) - if value is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - self.RatePlanCategory = value - self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - value = find_attr_value_('RatePlanQualifier', node) - if value is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - if value in ('true', '1'): - self.RatePlanQualifier = True - elif value in ('false', '0'): - self.RatePlanQualifier = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRules': - obj_ = BookingRulesType447.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRules = obj_ - obj_.original_tagname_ = 'BookingRules' - elif nodeName_ == 'Rates': - obj_ = RatesType460.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' - elif nodeName_ == 'Supplements': - obj_ = SupplementsType476.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplements = obj_ - obj_.original_tagname_ = 'Supplements' - elif nodeName_ == 'Offers': - obj_ = OffersType488.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offers = obj_ - obj_.original_tagname_ = 'Offers' - elif nodeName_ == 'Description': - obj_ = DescriptionType509.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class RatePlanType446 - - -class BookingRulesType447(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BookingRule is None: - self.BookingRule = [] - else: - self.BookingRule = BookingRule - self.BookingRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRulesType447) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRulesType447.subclass: - return BookingRulesType447.subclass(*args_, **kwargs_) - else: - return BookingRulesType447(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRule(self): - return self.BookingRule - def set_BookingRule(self, BookingRule): - self.BookingRule = BookingRule - def add_BookingRule(self, value): - self.BookingRule.append(value) - def insert_BookingRule_at(self, index, value): - self.BookingRule.insert(index, value) - def replace_BookingRule_at(self, index, value): - self.BookingRule[index] = value - def has__content(self): - if ( - self.BookingRule - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType447', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType447') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRulesType447': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType447') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType447', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType447'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType447', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BookingRule_ in self.BookingRule: - namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' - BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRule': - obj_ = BookingRuleType448.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRule.append(obj_) - obj_.original_tagname_ = 'BookingRule' -# end class BookingRulesType447 - - -class BookingRuleType448(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - self.RestrictionStatus = RestrictionStatus - self.RestrictionStatus_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRuleType448) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRuleType448.subclass: - return BookingRuleType448.subclass(*args_, **kwargs_) - else: - return BookingRuleType448(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_RestrictionStatus(self): - return self.RestrictionStatus - def set_RestrictionStatus(self, RestrictionStatus): - self.RestrictionStatus = RestrictionStatus - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_CodeContextType459(self, value): - # Validate type CodeContextType459, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType459' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.RestrictionStatus is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType448', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType448') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRuleType448': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType448') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType448', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType448'): - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType448', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - if self.RestrictionStatus is not None: - namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' - self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType459(self.CodeContext) # validate type CodeContextType459 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType449.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType453.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'RestrictionStatus': - obj_ = RestrictionStatusType456.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RestrictionStatus = obj_ - obj_.original_tagname_ = 'RestrictionStatus' -# end class BookingRuleType448 - - -class LengthsOfStayType449(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType449) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType449.subclass: - return LengthsOfStayType449.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType449(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType449', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType449') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType449': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType449') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType449', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType449'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType449', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType450.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType449 - - -class LengthOfStayType450(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType450) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType450.subclass: - return LengthOfStayType450.subclass(*args_, **kwargs_) - else: - return LengthOfStayType450(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType451(self, value): - # Validate type TimeUnitType451, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType451' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType452(self, value): - # Validate type MinMaxMessageTypeType452, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType452' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType450', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType450') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType450': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType450') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType450', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType450'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType450', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType451(self.TimeUnit) # validate type TimeUnitType451 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType452(self.MinMaxMessageType) # validate type MinMaxMessageTypeType452 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType450 - - -class DOW_RestrictionsType453(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType453) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType453.subclass: - return DOW_RestrictionsType453.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType453(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType453', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType453') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType453': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType453') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType453', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType453'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType453', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType454.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType455.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType453 - - -class ArrivalDaysOfWeekType454(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType454) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType454.subclass: - return ArrivalDaysOfWeekType454.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType454(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType454', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType454') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType454': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType454') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType454', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType454'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType454', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType454 - - -class DepartureDaysOfWeekType455(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType455) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType455.subclass: - return DepartureDaysOfWeekType455.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType455(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType455', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType455') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType455': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType455') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType455', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType455'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType455', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType455 - - -class RestrictionStatusType456(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Restriction = _cast(None, Restriction) - self.Restriction_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RestrictionStatusType456) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RestrictionStatusType456.subclass: - return RestrictionStatusType456.subclass(*args_, **kwargs_) - else: - return RestrictionStatusType456(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Restriction(self): - return self.Restriction - def set_Restriction(self, Restriction): - self.Restriction = Restriction - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def validate_RestrictionType457(self, value): - # Validate type RestrictionType457, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Master'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType457' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StatusType458(self, value): - # Validate type StatusType458, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Open', 'Close'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType458' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType456', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType456') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RestrictionStatusType456': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType456') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType456', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType456'): - if self.Restriction is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType456', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Restriction', node) - if value is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - self.Restriction = value - self.validate_RestrictionType457(self.Restriction) # validate type RestrictionType457 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType458(self.Status) # validate type StatusType458 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RestrictionStatusType456 - - -class RatesType460(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType460) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType460.subclass: - return RatesType460.subclass(*args_, **kwargs_) - else: - return RatesType460(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType460', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType460') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType460': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType460') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType460', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType460'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType460', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType461.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType460 - - -class RateType461(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestApplicable = _cast(int, MinGuestApplicable) - self.MinGuestApplicable_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.BaseByGuestAmts = BaseByGuestAmts - self.BaseByGuestAmts_nsprefix_ = None - self.AdditionalGuestAmounts = AdditionalGuestAmounts - self.AdditionalGuestAmounts_nsprefix_ = None - self.RateDescription = RateDescription - self.RateDescription_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType461) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType461.subclass: - return RateType461.subclass(*args_, **kwargs_) - else: - return RateType461(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmts(self): - return self.BaseByGuestAmts - def set_BaseByGuestAmts(self, BaseByGuestAmts): - self.BaseByGuestAmts = BaseByGuestAmts - def get_AdditionalGuestAmounts(self): - return self.AdditionalGuestAmounts - def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): - self.AdditionalGuestAmounts = AdditionalGuestAmounts - def get_RateDescription(self): - return self.RateDescription - def set_RateDescription(self, RateDescription): - self.RateDescription = RateDescription - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_MinGuestApplicable(self): - return self.MinGuestApplicable - def set_MinGuestApplicable(self, MinGuestApplicable): - self.MinGuestApplicable = MinGuestApplicable - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType474(self, value): - # Validate type RateTimeUnitType474, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType474' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_DurationType475(self, value): - # Validate type DurationType475, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType475_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType475_patterns_, )) - validate_DurationType475_patterns_ = [['^(P[0-9]+N)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.BaseByGuestAmts is not None or - self.AdditionalGuestAmounts is not None or - self.RateDescription is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType461', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType461') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType461': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType461') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType461', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType461'): - if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType461', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BaseByGuestAmts is not None: - namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' - self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) - if self.AdditionalGuestAmounts is not None: - namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' - self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) - if self.RateDescription is not None: - namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' - self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestApplicable', node) - if value is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') - if self.MinGuestApplicable <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType474(self.RateTimeUnit) # validate type RateTimeUnitType474 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType475(self.Duration) # validate type DurationType475 - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmts': - obj_ = BaseByGuestAmtsType462.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmts = obj_ - obj_.original_tagname_ = 'BaseByGuestAmts' - elif nodeName_ == 'AdditionalGuestAmounts': - obj_ = AdditionalGuestAmountsType465.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmounts = obj_ - obj_.original_tagname_ = 'AdditionalGuestAmounts' - elif nodeName_ == 'RateDescription': - obj_ = RateDescriptionType467.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RateDescription = obj_ - obj_.original_tagname_ = 'RateDescription' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType471.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RateType461 - - -class BaseByGuestAmtsType462(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BaseByGuestAmt is None: - self.BaseByGuestAmt = [] - else: - self.BaseByGuestAmt = BaseByGuestAmt - self.BaseByGuestAmt_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtsType462) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtsType462.subclass: - return BaseByGuestAmtsType462.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtsType462(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmt(self): - return self.BaseByGuestAmt - def set_BaseByGuestAmt(self, BaseByGuestAmt): - self.BaseByGuestAmt = BaseByGuestAmt - def add_BaseByGuestAmt(self, value): - self.BaseByGuestAmt.append(value) - def insert_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt.insert(index, value) - def replace_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt[index] = value - def has__content(self): - if ( - self.BaseByGuestAmt - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType462', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType462') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType462': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType462') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType462', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType462'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType462', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BaseByGuestAmt_ in self.BaseByGuestAmt: - namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' - BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmt': - obj_ = BaseByGuestAmtType463.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmt.append(obj_) - obj_.original_tagname_ = 'BaseByGuestAmt' -# end class BaseByGuestAmtsType462 - - -class BaseByGuestAmtType463(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NumberOfGuests = _cast(int, NumberOfGuests) - self.NumberOfGuests_nsprefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtType463) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtType463.subclass: - return BaseByGuestAmtType463.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtType463(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NumberOfGuests(self): - return self.NumberOfGuests - def set_NumberOfGuests(self, NumberOfGuests): - self.NumberOfGuests = NumberOfGuests - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType464(self, value): - # Validate type TypeType464, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['7', '25'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType464' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType463', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType463') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType463': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType463') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType463', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType463'): - if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType463', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('NumberOfGuests', node) - if value is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') - if self.NumberOfGuests <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType464(self.Type) # validate type TypeType464 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseByGuestAmtType463 - - -class AdditionalGuestAmountsType465(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AdditionalGuestAmount is None: - self.AdditionalGuestAmount = [] - else: - self.AdditionalGuestAmount = AdditionalGuestAmount - self.AdditionalGuestAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountsType465) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountsType465.subclass: - return AdditionalGuestAmountsType465.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountsType465(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AdditionalGuestAmount(self): - return self.AdditionalGuestAmount - def set_AdditionalGuestAmount(self, AdditionalGuestAmount): - self.AdditionalGuestAmount = AdditionalGuestAmount - def add_AdditionalGuestAmount(self, value): - self.AdditionalGuestAmount.append(value) - def insert_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount.insert(index, value) - def replace_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount[index] = value - def has__content(self): - if ( - self.AdditionalGuestAmount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType465', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType465') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType465': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType465') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType465', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType465'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType465', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AdditionalGuestAmount_ in self.AdditionalGuestAmount: - namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' - AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AdditionalGuestAmount': - obj_ = AdditionalGuestAmountType466.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmount.append(obj_) - obj_.original_tagname_ = 'AdditionalGuestAmount' -# end class AdditionalGuestAmountsType465 - - -class AdditionalGuestAmountType466(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountType466) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountType466.subclass: - return AdditionalGuestAmountType466.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountType466(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType466', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType466') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType466': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType466') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType466', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType466'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType466', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AdditionalGuestAmountType466 - - -class RateDescriptionType467(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateDescriptionType467) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateDescriptionType467.subclass: - return RateDescriptionType467.subclass(*args_, **kwargs_) - else: - return RateDescriptionType467(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType470(self, value): - # Validate type NameType470, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType470' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType467', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType467') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateDescriptionType467': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType467') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType467', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType467'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType467', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType470(self.Name) # validate type NameType470 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType468.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' -# end class RateDescriptionType467 - - -class ListItemType468(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType468) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType468.subclass: - return ListItemType468.subclass(*args_, **kwargs_) - else: - return ListItemType468(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType469(self, value): - # Validate type LanguageType469, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType469_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType469_patterns_, )) - validate_LanguageType469_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType468', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType468') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType468': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType468') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType468'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType468', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType469(self.Language) # validate type LanguageType469 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType468 - - -class MealsIncludedType471(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Breakfast = _cast(bool, Breakfast) - self.Breakfast_nsprefix_ = None - self.Lunch = _cast(bool, Lunch) - self.Lunch_nsprefix_ = None - self.Dinner = _cast(bool, Dinner) - self.Dinner_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType471) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType471.subclass: - return MealsIncludedType471.subclass(*args_, **kwargs_) - else: - return MealsIncludedType471(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Breakfast(self): - return self.Breakfast - def set_Breakfast(self, Breakfast): - self.Breakfast = Breakfast - def get_Lunch(self): - return self.Lunch - def set_Lunch(self, Lunch): - self.Lunch = Lunch - def get_Dinner(self): - return self.Dinner - def set_Dinner(self, Dinner): - self.Dinner = Dinner - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_MealPlanCodesType472(self, value): - # Validate type MealPlanCodesType472, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType472' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanIndicatorType473(self, value): - # Validate type MealPlanIndicatorType473, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType473' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType471', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType471') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType471': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType471') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType471', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType471'): - if self.Breakfast is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) - if self.Lunch is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) - if self.Dinner is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType471', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Breakfast', node) - if value is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - if value in ('true', '1'): - self.Breakfast = True - elif value in ('false', '0'): - self.Breakfast = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Breakfast) # validate type def_bool - value = find_attr_value_('Lunch', node) - if value is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - if value in ('true', '1'): - self.Lunch = True - elif value in ('false', '0'): - self.Lunch = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Lunch) # validate type def_bool - value = find_attr_value_('Dinner', node) - if value is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - if value in ('true', '1'): - self.Dinner = True - elif value in ('false', '0'): - self.Dinner = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Dinner) # validate type def_bool - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType472(self.MealPlanCodes) # validate type MealPlanCodesType472 - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType473(self.MealPlanIndicator) # validate type MealPlanIndicatorType473 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType471 - - -class SupplementsType476(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Supplement is None: - self.Supplement = [] - else: - self.Supplement = Supplement - self.Supplement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementsType476) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementsType476.subclass: - return SupplementsType476.subclass(*args_, **kwargs_) - else: - return SupplementsType476(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Supplement(self): - return self.Supplement - def set_Supplement(self, Supplement): - self.Supplement = Supplement - def add_Supplement(self, value): - self.Supplement.append(value) - def insert_Supplement_at(self, index, value): - self.Supplement.insert(index, value) - def replace_Supplement_at(self, index, value): - self.Supplement[index] = value - def has__content(self): - if ( - self.Supplement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType476', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType476') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementsType476': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType476') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType476', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType476'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType476', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Supplement_ in self.Supplement: - namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' - Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Supplement': - obj_ = SupplementType477.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplement.append(obj_) - obj_.original_tagname_ = 'Supplement' -# end class SupplementsType476 - - -class SupplementType477(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) - self.AddToBasicRateIndicator_nsprefix_ = None - self.ChargeTypeCode = _cast(None, ChargeTypeCode) - self.ChargeTypeCode_nsprefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.MandatoryIndicator = _cast(bool, MandatoryIndicator) - self.MandatoryIndicator_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.PrerequisiteInventory = PrerequisiteInventory - self.PrerequisiteInventory_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementType477) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementType477.subclass: - return SupplementType477.subclass(*args_, **kwargs_) - else: - return SupplementType477(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PrerequisiteInventory(self): - return self.PrerequisiteInventory - def set_PrerequisiteInventory(self, PrerequisiteInventory): - self.PrerequisiteInventory = PrerequisiteInventory - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_AddToBasicRateIndicator(self): - return self.AddToBasicRateIndicator - def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): - self.AddToBasicRateIndicator = AddToBasicRateIndicator - def get_ChargeTypeCode(self): - return self.ChargeTypeCode - def set_ChargeTypeCode(self, ChargeTypeCode): - self.ChargeTypeCode = ChargeTypeCode - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_MandatoryIndicator(self): - return self.MandatoryIndicator - def set_MandatoryIndicator(self, MandatoryIndicator): - self.MandatoryIndicator = MandatoryIndicator - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_AddToBasicRateIndicatorType485(self, value): - # Validate type AddToBasicRateIndicatorType485, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType485' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeTypeCodeType486(self, value): - # Validate type ChargeTypeCodeType486, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '12', '18', '19', '20', '21', '24'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType486' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_InvTypeType487(self, value): - # Validate type InvTypeType487, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType487' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.PrerequisiteInventory is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType477', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType477') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementType477': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType477') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType477', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType477'): - if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) - if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType477', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PrerequisiteInventory is not None: - namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' - self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AddToBasicRateIndicator', node) - if value is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - self.AddToBasicRateIndicator = value - self.validate_AddToBasicRateIndicatorType485(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType485 - value = find_attr_value_('ChargeTypeCode', node) - if value is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - self.ChargeTypeCode = value - self.validate_ChargeTypeCodeType486(self.ChargeTypeCode) # validate type ChargeTypeCodeType486 - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType487(self.InvType) # validate type InvTypeType487 - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('MandatoryIndicator', node) - if value is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - if value in ('true', '1'): - self.MandatoryIndicator = True - elif value in ('false', '0'): - self.MandatoryIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PrerequisiteInventory': - obj_ = PrerequisiteInventoryType478.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PrerequisiteInventory = obj_ - obj_.original_tagname_ = 'PrerequisiteInventory' - elif nodeName_ == 'Description': - obj_ = DescriptionType480.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class SupplementType477 - - -class PrerequisiteInventoryType478(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PrerequisiteInventoryType478) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PrerequisiteInventoryType478.subclass: - return PrerequisiteInventoryType478.subclass(*args_, **kwargs_) - else: - return PrerequisiteInventoryType478(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InvTypeType479(self, value): - # Validate type InvTypeType479, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType479' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType478', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType478') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType478': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType478') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType478', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType478'): - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType478', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType479(self.InvType) # validate type InvTypeType479 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PrerequisiteInventoryType478 - - -class DescriptionType480(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType480) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType480.subclass: - return DescriptionType480.subclass(*args_, **kwargs_) - else: - return DescriptionType480(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType484(self, value): - # Validate type NameType484, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType484' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType480', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType480') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType480': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType480') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType480', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType480'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType480', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType484(self.Name) # validate type NameType484 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType481.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType480 - - -class TextType481(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType481) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType481.subclass: - return TextType481.subclass(*args_, **kwargs_) - else: - return TextType481(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType482(self, value): - # Validate type TextFormatType482, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType482' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType483(self, value): - # Validate type LanguageType483, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType483_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType483_patterns_, )) - validate_LanguageType483_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType481', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType481') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType481': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType481') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType481'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType481', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType482(self.TextFormat) # validate type TextFormatType482 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType483(self.Language) # validate type LanguageType483 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType481 - - -class OffersType488(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Offer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Offer is None: - self.Offer = [] - else: - self.Offer = Offer - self.Offer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OffersType488) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OffersType488.subclass: - return OffersType488.subclass(*args_, **kwargs_) - else: - return OffersType488(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Offer(self): - return self.Offer - def set_Offer(self, Offer): - self.Offer = Offer - def add_Offer(self, value): - self.Offer.append(value) - def insert_Offer_at(self, index, value): - self.Offer.insert(index, value) - def replace_Offer_at(self, index, value): - self.Offer[index] = value - def has__content(self): - if ( - self.Offer - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType488', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType488') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OffersType488': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType488') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType488', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType488'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType488', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Offer_ in self.Offer: - namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' - Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Offer': - obj_ = OfferType489.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offer.append(obj_) - obj_.original_tagname_ = 'Offer' -# end class OffersType488 - - -class OfferType489(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRules = OfferRules - self.OfferRules_nsprefix_ = None - self.Discount = Discount - self.Discount_nsprefix_ = None - self.Guests = Guests - self.Guests_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferType489) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferType489.subclass: - return OfferType489.subclass(*args_, **kwargs_) - else: - return OfferType489(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRules(self): - return self.OfferRules - def set_OfferRules(self, OfferRules): - self.OfferRules = OfferRules - def get_Discount(self): - return self.Discount - def set_Discount(self, Discount): - self.Discount = Discount - def get_Guests(self): - return self.Guests - def set_Guests(self, Guests): - self.Guests = Guests - def has__content(self): - if ( - self.OfferRules is not None or - self.Discount is not None or - self.Guests is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType489', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType489') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferType489': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType489') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType489', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType489'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType489', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRules is not None: - namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' - self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) - if self.Discount is not None: - namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' - self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) - if self.Guests is not None: - namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' - self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRules': - obj_ = OfferRulesType490.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRules = obj_ - obj_.original_tagname_ = 'OfferRules' - elif nodeName_ == 'Discount': - obj_ = DiscountType503.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Discount = obj_ - obj_.original_tagname_ = 'Discount' - elif nodeName_ == 'Guests': - obj_ = GuestsType506.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guests = obj_ - obj_.original_tagname_ = 'Guests' -# end class OfferType489 - - -class OfferRulesType490(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRule = OfferRule - self.OfferRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRulesType490) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRulesType490.subclass: - return OfferRulesType490.subclass(*args_, **kwargs_) - else: - return OfferRulesType490(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRule(self): - return self.OfferRule - def set_OfferRule(self, OfferRule): - self.OfferRule = OfferRule - def has__content(self): - if ( - self.OfferRule is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType490', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType490') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRulesType490': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType490') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType490', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType490'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType490', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRule is not None: - namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' - self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRule': - obj_ = OfferRuleType491.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRule = obj_ - obj_.original_tagname_ = 'OfferRule' -# end class OfferRulesType490 - - -class OfferRuleType491(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) - self.MinAdvancedBookingOffset_nsprefix_ = None - self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) - self.MaxAdvancedBookingOffset_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - if Occupancy is None: - self.Occupancy = [] - else: - self.Occupancy = Occupancy - self.Occupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRuleType491) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRuleType491.subclass: - return OfferRuleType491.subclass(*args_, **kwargs_) - else: - return OfferRuleType491(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_Occupancy(self): - return self.Occupancy - def set_Occupancy(self, Occupancy): - self.Occupancy = Occupancy - def add_Occupancy(self, value): - self.Occupancy.append(value) - def insert_Occupancy_at(self, index, value): - self.Occupancy.insert(index, value) - def replace_Occupancy_at(self, index, value): - self.Occupancy[index] = value - def get_MinAdvancedBookingOffset(self): - return self.MinAdvancedBookingOffset - def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): - self.MinAdvancedBookingOffset = MinAdvancedBookingOffset - def get_MaxAdvancedBookingOffset(self): - return self.MaxAdvancedBookingOffset - def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): - self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset - def validate_MinAdvancedBookingOffsetType501(self, value): - # Validate type MinAdvancedBookingOffsetType501, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MinAdvancedBookingOffsetType501_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType501_patterns_, )) - validate_MinAdvancedBookingOffsetType501_patterns_ = [['^(P[0-9]+D)$']] - def validate_MaxAdvancedBookingOffsetType502(self, value): - # Validate type MaxAdvancedBookingOffsetType502, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaxAdvancedBookingOffsetType502_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType502_patterns_, )) - validate_MaxAdvancedBookingOffsetType502_patterns_ = [['^(P[0-9]+D)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.Occupancy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType491', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType491') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRuleType491': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType491') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType491', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType491'): - if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) - if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType491', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - for Occupancy_ in self.Occupancy: - namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' - Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinAdvancedBookingOffset', node) - if value is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - self.MinAdvancedBookingOffset = value - self.validate_MinAdvancedBookingOffsetType501(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType501 - value = find_attr_value_('MaxAdvancedBookingOffset', node) - if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - self.MaxAdvancedBookingOffset = value - self.validate_MaxAdvancedBookingOffsetType502(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType502 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType492.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType496.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'Occupancy': - obj_ = OccupancyType499.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Occupancy.append(obj_) - obj_.original_tagname_ = 'Occupancy' -# end class OfferRuleType491 - - -class LengthsOfStayType492(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType492) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType492.subclass: - return LengthsOfStayType492.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType492(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType492', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType492') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType492': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType492') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType492', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType492'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType492', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType493.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType492 - - -class LengthOfStayType493(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType493) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType493.subclass: - return LengthOfStayType493.subclass(*args_, **kwargs_) - else: - return LengthOfStayType493(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType494(self, value): - # Validate type TimeUnitType494, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType494' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType495(self, value): - # Validate type MinMaxMessageTypeType495, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetMaxLOS', ''] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType495' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType493', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType493') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType493': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType493') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType493', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType493'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType493', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType494(self.TimeUnit) # validate type TimeUnitType494 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType495(self.MinMaxMessageType) # validate type MinMaxMessageTypeType495 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType493 - - -class DOW_RestrictionsType496(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType496) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType496.subclass: - return DOW_RestrictionsType496.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType496(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType496', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType496') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType496': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType496') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType496', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType496'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType496', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType497.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType498.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType496 - - -class ArrivalDaysOfWeekType497(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType497) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType497.subclass: - return ArrivalDaysOfWeekType497.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType497(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType497', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType497') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType497': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType497') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType497', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType497'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType497', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType497 - - -class DepartureDaysOfWeekType498(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType498) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType498.subclass: - return DepartureDaysOfWeekType498.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType498(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType498', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType498') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType498': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType498') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType498', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType498'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType498', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType498 - - -class OccupancyType499(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OccupancyType499) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OccupancyType499.subclass: - return OccupancyType499.subclass(*args_, **kwargs_) - else: - return OccupancyType499(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def validate_AgeQualifyingCodeType500(self, value): - # Validate type AgeQualifyingCodeType500, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['8', '10'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType500' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType499', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType499') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OccupancyType499': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType499') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType499', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType499'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType499', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = value - self.validate_AgeQualifyingCodeType500(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType500 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class OccupancyType499 - - -class DiscountType503(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(None, Percent) - self.Percent_nsprefix_ = None - self.NightsRequired = _cast(int, NightsRequired) - self.NightsRequired_nsprefix_ = None - self.NightsDiscounted = _cast(int, NightsDiscounted) - self.NightsDiscounted_nsprefix_ = None - self.DiscountPattern = _cast(None, DiscountPattern) - self.DiscountPattern_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DiscountType503) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DiscountType503.subclass: - return DiscountType503.subclass(*args_, **kwargs_) - else: - return DiscountType503(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def get_NightsRequired(self): - return self.NightsRequired - def set_NightsRequired(self, NightsRequired): - self.NightsRequired = NightsRequired - def get_NightsDiscounted(self): - return self.NightsDiscounted - def set_NightsDiscounted(self, NightsDiscounted): - self.NightsDiscounted = NightsDiscounted - def get_DiscountPattern(self): - return self.DiscountPattern - def set_DiscountPattern(self, DiscountPattern): - self.DiscountPattern = DiscountPattern - def validate_PercentType504(self, value): - # Validate type PercentType504, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['100'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType504' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_DiscountPatternType505(self, value): - # Validate type DiscountPatternType505, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DiscountPatternType505_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType505_patterns_, )) - validate_DiscountPatternType505_patterns_ = [['^(0*1*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType503', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType503') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DiscountType503': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType503') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType503', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType503'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) - if self.NightsRequired is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) - if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) - if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType503', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = value - self.validate_PercentType504(self.Percent) # validate type PercentType504 - value = find_attr_value_('NightsRequired', node) - if value is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') - if self.NightsRequired <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 - value = find_attr_value_('NightsDiscounted', node) - if value is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') - if self.NightsDiscounted <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 - value = find_attr_value_('DiscountPattern', node) - if value is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - self.DiscountPattern = value - self.validate_DiscountPatternType505(self.DiscountPattern) # validate type DiscountPatternType505 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DiscountType503 - - -class GuestsType506(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Guest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Guest = Guest - self.Guest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestsType506) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestsType506.subclass: - return GuestsType506.subclass(*args_, **kwargs_) - else: - return GuestsType506(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Guest(self): - return self.Guest - def set_Guest(self, Guest): - self.Guest = Guest - def has__content(self): - if ( - self.Guest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType506', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType506') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestsType506': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType506') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType506', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType506'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType506', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Guest is not None: - namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' - self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Guest': - obj_ = GuestType507.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guest = obj_ - obj_.original_tagname_ = 'Guest' -# end class GuestsType506 - - -class GuestType507(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinCount = _cast(int, MinCount) - self.MinCount_nsprefix_ = None - self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) - self.FirstQualifyingPosition_nsprefix_ = None - self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) - self.LastQualifyingPosition_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestType507) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestType507.subclass: - return GuestType507.subclass(*args_, **kwargs_) - else: - return GuestType507(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinCount(self): - return self.MinCount - def set_MinCount(self, MinCount): - self.MinCount = MinCount - def get_FirstQualifyingPosition(self): - return self.FirstQualifyingPosition - def set_FirstQualifyingPosition(self, FirstQualifyingPosition): - self.FirstQualifyingPosition = FirstQualifyingPosition - def get_LastQualifyingPosition(self): - return self.LastQualifyingPosition - def set_LastQualifyingPosition(self, LastQualifyingPosition): - self.LastQualifyingPosition = LastQualifyingPosition - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_FirstQualifyingPositionType508(self, value): - # Validate type FirstQualifyingPositionType508, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType508' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType507', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType507') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestType507': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType507') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType507', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType507'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinCount is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) - if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) - if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType507', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinCount', node) - if value is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - self.MinCount = self.gds_parse_integer(value, node, 'MinCount') - if self.MinCount < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 - value = find_attr_value_('FirstQualifyingPosition', node) - if value is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - self.FirstQualifyingPosition = value - self.validate_FirstQualifyingPositionType508(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType508 - value = find_attr_value_('LastQualifyingPosition', node) - if value is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') - if self.LastQualifyingPosition <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestType507 - - -class DescriptionType509(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType509) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType509.subclass: - return DescriptionType509.subclass(*args_, **kwargs_) - else: - return DescriptionType509(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType513(self, value): - # Validate type NameType513, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType513' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType509', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType509') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType509': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType509') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType509', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType509'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType509', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType513(self.Name) # validate type NameType513 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType510.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType509 - - -class TextType510(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType510) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType510.subclass: - return TextType510.subclass(*args_, **kwargs_) - else: - return TextType510(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType511(self, value): - # Validate type TextFormatType511, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType511' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType512(self, value): - # Validate type LanguageType512, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType512_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType512_patterns_, )) - validate_LanguageType512_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType510', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType510') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType510': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType510') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType510'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType510', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType511(self.TextFormat) # validate type TextFormatType511 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType512(self.Language) # validate type LanguageType512 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType510 - - -class HotelReservationType516(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CreateDateTime = _cast(None, CreateDateTime) - self.CreateDateTime_nsprefix_ = None - self.LastModifyDateTime = _cast(None, LastModifyDateTime) - self.LastModifyDateTime_nsprefix_ = None - self.ResStatus = _cast(None, ResStatus) - self.ResStatus_nsprefix_ = None - self.RoomStayReservation = _cast(bool, RoomStayReservation) - self.RoomStayReservation_nsprefix_ = None - self.UniqueID = UniqueID - self.UniqueID_nsprefix_ = None - self.RoomStays = RoomStays - self.RoomStays_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - self.ResGuests = ResGuests - self.ResGuests_nsprefix_ = None - self.ResGlobalInfo = ResGlobalInfo - self.ResGlobalInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationType516) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationType516.subclass: - return HotelReservationType516.subclass(*args_, **kwargs_) - else: - return HotelReservationType516(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_UniqueID(self): - return self.UniqueID - def set_UniqueID(self, UniqueID): - self.UniqueID = UniqueID - def get_RoomStays(self): - return self.RoomStays - def set_RoomStays(self, RoomStays): - self.RoomStays = RoomStays - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_ResGuests(self): - return self.ResGuests - def set_ResGuests(self, ResGuests): - self.ResGuests = ResGuests - def get_ResGlobalInfo(self): - return self.ResGlobalInfo - def set_ResGlobalInfo(self, ResGlobalInfo): - self.ResGlobalInfo = ResGlobalInfo - def get_CreateDateTime(self): - return self.CreateDateTime - def set_CreateDateTime(self, CreateDateTime): - self.CreateDateTime = CreateDateTime - def get_LastModifyDateTime(self): - return self.LastModifyDateTime - def set_LastModifyDateTime(self, LastModifyDateTime): - self.LastModifyDateTime = LastModifyDateTime - def get_ResStatus(self): - return self.ResStatus - def set_ResStatus(self, ResStatus): - self.ResStatus = ResStatus - def get_RoomStayReservation(self): - return self.RoomStayReservation - def set_RoomStayReservation(self, RoomStayReservation): - self.RoomStayReservation = RoomStayReservation - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def validate_ResStatusType634(self, value): - # Validate type ResStatusType634, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Requested', 'Reserved', 'Cancelled', 'Modify'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ResStatusType634' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.UniqueID is not None or - self.RoomStays is not None or - self.Services is not None or - self.ResGuests is not None or - self.ResGlobalInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType516', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationType516') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationType516': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationType516') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationType516', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationType516'): - if self.CreateDateTime is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - outfile.write(' CreateDateTime="%s"' % self.gds_format_datetime(self.CreateDateTime, input_name='CreateDateTime')) - if self.LastModifyDateTime is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - outfile.write(' LastModifyDateTime="%s"' % self.gds_format_datetime(self.LastModifyDateTime, input_name='LastModifyDateTime')) - if self.ResStatus is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - outfile.write(' ResStatus=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResStatus), input_name='ResStatus')), )) - if self.RoomStayReservation is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - outfile.write(' RoomStayReservation="%s"' % self.gds_format_boolean(self.RoomStayReservation, input_name='RoomStayReservation')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationType516', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.UniqueID is not None: - namespaceprefix_ = self.UniqueID_nsprefix_ + ':' if (UseCapturedNS_ and self.UniqueID_nsprefix_) else '' - self.UniqueID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UniqueID', pretty_print=pretty_print) - if self.RoomStays is not None: - namespaceprefix_ = self.RoomStays_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStays_nsprefix_) else '' - self.RoomStays.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStays', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - if self.ResGuests is not None: - namespaceprefix_ = self.ResGuests_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuests_nsprefix_) else '' - self.ResGuests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuests', pretty_print=pretty_print) - if self.ResGlobalInfo is not None: - namespaceprefix_ = self.ResGlobalInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGlobalInfo_nsprefix_) else '' - self.ResGlobalInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGlobalInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CreateDateTime', node) - if value is not None and 'CreateDateTime' not in already_processed: - already_processed.add('CreateDateTime') - try: - self.CreateDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (CreateDateTime): %s' % exp) - self.validate_def_datetime(self.CreateDateTime) # validate type def_datetime - value = find_attr_value_('LastModifyDateTime', node) - if value is not None and 'LastModifyDateTime' not in already_processed: - already_processed.add('LastModifyDateTime') - try: - self.LastModifyDateTime = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (LastModifyDateTime): %s' % exp) - self.validate_def_datetime(self.LastModifyDateTime) # validate type def_datetime - value = find_attr_value_('ResStatus', node) - if value is not None and 'ResStatus' not in already_processed: - already_processed.add('ResStatus') - self.ResStatus = value - self.validate_ResStatusType634(self.ResStatus) # validate type ResStatusType634 - value = find_attr_value_('RoomStayReservation', node) - if value is not None and 'RoomStayReservation' not in already_processed: - already_processed.add('RoomStayReservation') - if value in ('true', '1'): - self.RoomStayReservation = True - elif value in ('false', '0'): - self.RoomStayReservation = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RoomStayReservation) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'UniqueID': - obj_ = UniqueIDType517.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.UniqueID = obj_ - obj_.original_tagname_ = 'UniqueID' - elif nodeName_ == 'RoomStays': - obj_ = RoomStaysType519.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStays = obj_ - obj_.original_tagname_ = 'RoomStays' - elif nodeName_ == 'Services': - obj_ = ServicesType553.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' - elif nodeName_ == 'ResGuests': - obj_ = ResGuestsType571.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuests = obj_ - obj_.original_tagname_ = 'ResGuests' - elif nodeName_ == 'ResGlobalInfo': - obj_ = ResGlobalInfoType589.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGlobalInfo = obj_ - obj_.original_tagname_ = 'ResGlobalInfo' -# end class HotelReservationType516 - - -class UniqueIDType517(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, ID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, UniqueIDType517) - if subclass is not None: - return subclass(*args_, **kwargs_) - if UniqueIDType517.subclass: - return UniqueIDType517.subclass(*args_, **kwargs_) - else: - return UniqueIDType517(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_TypeType518(self, value): - # Validate type TypeType518, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['14', '15'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType518' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType517', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('UniqueIDType517') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'UniqueIDType517': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='UniqueIDType517') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='UniqueIDType517', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='UniqueIDType517'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='UniqueIDType517', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType518(self.Type) # validate type TypeType518 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_StringLength1to32(self.ID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class UniqueIDType517 - - -class RoomStaysType519(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if RoomStay is None: - self.RoomStay = [] - else: - self.RoomStay = RoomStay - self.RoomStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStaysType519) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStaysType519.subclass: - return RoomStaysType519.subclass(*args_, **kwargs_) - else: - return RoomStaysType519(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomStay(self): - return self.RoomStay - def set_RoomStay(self, RoomStay): - self.RoomStay = RoomStay - def add_RoomStay(self, value): - self.RoomStay.append(value) - def insert_RoomStay_at(self, index, value): - self.RoomStay.insert(index, value) - def replace_RoomStay_at(self, index, value): - self.RoomStay[index] = value - def has__content(self): - if ( - self.RoomStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType519', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStaysType519') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStaysType519': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStaysType519') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStaysType519', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStaysType519'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStaysType519', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RoomStay_ in self.RoomStay: - namespaceprefix_ = self.RoomStay_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomStay_nsprefix_) else '' - RoomStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomStay': - obj_ = RoomStayType520.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomStay.append(obj_) - obj_.original_tagname_ = 'RoomStay' -# end class RoomStaysType519 - - -class RoomStayType520(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomStayGroupID = _cast(None, RoomStayGroupID) - self.RoomStayGroupID_nsprefix_ = None - self.RoomTypes = RoomTypes - self.RoomTypes_nsprefix_ = None - self.RatePlans = RatePlans - self.RatePlans_nsprefix_ = None - self.RoomRates = RoomRates - self.RoomRates_nsprefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Guarantee = Guarantee - self.Guarantee_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceRPHs = ServiceRPHs - self.ServiceRPHs_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomStayType520) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomStayType520.subclass: - return RoomStayType520.subclass(*args_, **kwargs_) - else: - return RoomStayType520(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypes(self): - return self.RoomTypes - def set_RoomTypes(self, RoomTypes): - self.RoomTypes = RoomTypes - def get_RatePlans(self): - return self.RatePlans - def set_RatePlans(self, RatePlans): - self.RatePlans = RatePlans - def get_RoomRates(self): - return self.RoomRates - def set_RoomRates(self, RoomRates): - self.RoomRates = RoomRates - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Guarantee(self): - return self.Guarantee - def set_Guarantee(self, Guarantee): - self.Guarantee = Guarantee - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceRPHs(self): - return self.ServiceRPHs - def set_ServiceRPHs(self, ServiceRPHs): - self.ServiceRPHs = ServiceRPHs - def get_RoomStayGroupID(self): - return self.RoomStayGroupID - def set_RoomStayGroupID(self, RoomStayGroupID): - self.RoomStayGroupID = RoomStayGroupID - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RoomTypes is not None or - self.RatePlans is not None or - self.RoomRates is not None or - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Guarantee is not None or - self.Total is not None or - self.ServiceRPHs is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType520', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomStayType520') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomStayType520': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomStayType520') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomStayType520', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomStayType520'): - if self.RoomStayGroupID is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - outfile.write(' RoomStayGroupID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomStayGroupID), input_name='RoomStayGroupID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomStayType520', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomTypes is not None: - namespaceprefix_ = self.RoomTypes_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomTypes_nsprefix_) else '' - self.RoomTypes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomTypes', pretty_print=pretty_print) - if self.RatePlans is not None: - namespaceprefix_ = self.RatePlans_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlans_nsprefix_) else '' - self.RatePlans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlans', pretty_print=pretty_print) - if self.RoomRates is not None: - namespaceprefix_ = self.RoomRates_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRates_nsprefix_) else '' - self.RoomRates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRates', pretty_print=pretty_print) - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Guarantee is not None: - namespaceprefix_ = self.Guarantee_nsprefix_ + ':' if (UseCapturedNS_ and self.Guarantee_nsprefix_) else '' - self.Guarantee.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guarantee', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceRPHs is not None: - namespaceprefix_ = self.ServiceRPHs_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPHs_nsprefix_) else '' - self.ServiceRPHs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPHs', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomStayGroupID', node) - if value is not None and 'RoomStayGroupID' not in already_processed: - already_processed.add('RoomStayGroupID') - self.RoomStayGroupID = value - self.validate_StringLength1to32(self.RoomStayGroupID) # validate type StringLength1to32 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomTypes': - obj_ = RoomTypesType521.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomTypes = obj_ - obj_.original_tagname_ = 'RoomTypes' - elif nodeName_ == 'RatePlans': - obj_ = RatePlansType524.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlans = obj_ - obj_.original_tagname_ = 'RatePlans' - elif nodeName_ == 'RoomRates': - obj_ = RoomRatesType531.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRates = obj_ - obj_.original_tagname_ = 'RoomRates' - elif nodeName_ == 'GuestCounts': - obj_ = GuestCountsType537.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType539.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Guarantee': - obj_ = GuaranteeType542.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guarantee = obj_ - obj_.original_tagname_ = 'Guarantee' - elif nodeName_ == 'Total': - obj_ = TotalType549.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceRPHs': - obj_ = ServiceRPHsType550.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPHs = obj_ - obj_.original_tagname_ = 'ServiceRPHs' -# end class RoomStayType520 - - -class RoomTypesType521(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomType = RoomType - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypesType521) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypesType521.subclass: - return RoomTypesType521.subclass(*args_, **kwargs_) - else: - return RoomTypesType521(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def has__content(self): - if ( - self.RoomType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType521', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypesType521') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypesType521': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypesType521') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypesType521', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypesType521'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomTypesType521', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomType is not None: - namespaceprefix_ = self.RoomType_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomType_nsprefix_) else '' - self.RoomType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomType': - obj_ = RoomTypeType522.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomType = obj_ - obj_.original_tagname_ = 'RoomType' -# end class RoomTypesType521 - - -class RoomTypeType522(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomTypeType522) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomTypeType522.subclass: - return RoomTypeType522.subclass(*args_, **kwargs_) - else: - return RoomTypeType522(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_RoomTypeType523(self, value): - # Validate type RoomTypeType523, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType523' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType522', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomTypeType522') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomTypeType522': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomTypeType522') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomTypeType522', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomTypeType522'): - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RoomTypeType522', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType523(self.RoomType) # validate type RoomTypeType523 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RoomTypeType522 - - -class RatePlansType524(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType524) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType524.subclass: - return RatePlansType524.subclass(*args_, **kwargs_) - else: - return RatePlansType524(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def has__content(self): - if ( - self.RatePlan is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType524', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType524') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType524': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType524') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType524', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType524'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType524', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RatePlan is not None: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - self.RatePlan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType525.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan = obj_ - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType524 - - -class RatePlanType525(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.Commission = Commission - self.Commission_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType525) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType525.subclass: - return RatePlanType525.subclass(*args_, **kwargs_) - else: - return RatePlanType525(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Commission(self): - return self.Commission - def set_Commission(self, Commission): - self.Commission = Commission - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Commission is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType525', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType525') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType525': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType525') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType525', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType525'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType525', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Commission is not None: - namespaceprefix_ = self.Commission_nsprefix_ + ':' if (UseCapturedNS_ and self.Commission_nsprefix_) else '' - self.Commission.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Commission', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Commission': - obj_ = CommissionType526.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Commission = obj_ - obj_.original_tagname_ = 'Commission' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType528.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RatePlanType525 - - -class CommissionType526(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, CommissionPayableAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(int, Percent) - self.Percent_nsprefix_ = None - self.CommissionPayableAmount = CommissionPayableAmount - self.CommissionPayableAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionType526) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionType526.subclass: - return CommissionType526.subclass(*args_, **kwargs_) - else: - return CommissionType526(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CommissionPayableAmount(self): - return self.CommissionPayableAmount - def set_CommissionPayableAmount(self, CommissionPayableAmount): - self.CommissionPayableAmount = CommissionPayableAmount - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CommissionPayableAmount is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType526', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionType526') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionType526': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionType526') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionType526', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionType526'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_integer(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommissionType526', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CommissionPayableAmount is not None: - namespaceprefix_ = self.CommissionPayableAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.CommissionPayableAmount_nsprefix_) else '' - self.CommissionPayableAmount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CommissionPayableAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = self.gds_parse_integer(value, node, 'Percent') - if self.Percent < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Percent) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CommissionPayableAmount': - obj_ = CommissionPayableAmountType527.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CommissionPayableAmount = obj_ - obj_.original_tagname_ = 'CommissionPayableAmount' -# end class CommissionType526 - - -class CommissionPayableAmountType527(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommissionPayableAmountType527) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommissionPayableAmountType527.subclass: - return CommissionPayableAmountType527.subclass(*args_, **kwargs_) - else: - return CommissionPayableAmountType527(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType527', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommissionPayableAmountType527') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommissionPayableAmountType527': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommissionPayableAmountType527') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommissionPayableAmountType527', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommissionPayableAmountType527'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommissionPayableAmountType527', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CommissionPayableAmountType527 - - -class MealsIncludedType528(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType528) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType528.subclass: - return MealsIncludedType528.subclass(*args_, **kwargs_) - else: - return MealsIncludedType528(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def validate_MealPlanIndicatorType529(self, value): - # Validate type MealPlanIndicatorType529, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType529' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanCodesType530(self, value): - # Validate type MealPlanCodesType530, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType530' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType528', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType528') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType528': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType528') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType528', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType528'): - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType528', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType529(self.MealPlanIndicator) # validate type MealPlanIndicatorType529 - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType530(self.MealPlanCodes) # validate type MealPlanCodesType530 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType528 - - -class RoomRatesType531(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomRate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomRate = RoomRate - self.RoomRate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRatesType531) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRatesType531.subclass: - return RoomRatesType531.subclass(*args_, **kwargs_) - else: - return RoomRatesType531(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomRate(self): - return self.RoomRate - def set_RoomRate(self, RoomRate): - self.RoomRate = RoomRate - def has__content(self): - if ( - self.RoomRate is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType531', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRatesType531') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRatesType531': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRatesType531') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRatesType531', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRatesType531'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRatesType531', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.RoomRate is not None: - namespaceprefix_ = self.RoomRate_nsprefix_ + ':' if (UseCapturedNS_ and self.RoomRate_nsprefix_) else '' - self.RoomRate.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RoomRate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RoomRate': - obj_ = RoomRateType532.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RoomRate = obj_ - obj_.original_tagname_ = 'RoomRate' -# end class RoomRatesType531 - - -class RoomRateType532(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RoomTypeCode = _cast(None, RoomTypeCode) - self.RoomTypeCode_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RoomRateType532) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RoomRateType532.subclass: - return RoomRateType532.subclass(*args_, **kwargs_) - else: - return RoomRateType532(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RoomTypeCode(self): - return self.RoomTypeCode - def set_RoomTypeCode(self, RoomTypeCode): - self.RoomTypeCode = RoomTypeCode - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Rates is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType532', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RoomRateType532') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RoomRateType532': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RoomRateType532') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RoomRateType532', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RoomRateType532'): - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RoomTypeCode is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - outfile.write(' RoomTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomTypeCode), input_name='RoomTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RoomRateType532', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RoomTypeCode', node) - if value is not None and 'RoomTypeCode' not in already_processed: - already_processed.add('RoomTypeCode') - self.RoomTypeCode = value - self.validate_def_invTypeCode_string(self.RoomTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rates': - obj_ = RatesType533.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' -# end class RoomRateType532 - - -class RatesType533(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType533) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType533.subclass: - return RatesType533.subclass(*args_, **kwargs_) - else: - return RatesType533(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType533', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType533') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType533': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType533') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType533', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType533'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType533', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType534.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType533 - - -class RateType534(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EffectiveDate = _cast(None, EffectiveDate) - self.EffectiveDate_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.ExpireDateExclusiveInd = _cast(bool, ExpireDateExclusiveInd) - self.ExpireDateExclusiveInd_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - if Base is None: - self.Base = [] - else: - self.Base = Base - self.Base_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType534) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType534.subclass: - return RateType534.subclass(*args_, **kwargs_) - else: - return RateType534(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Base(self): - return self.Base - def set_Base(self, Base): - self.Base = Base - def add_Base(self, value): - self.Base.append(value) - def insert_Base_at(self, index, value): - self.Base.insert(index, value) - def replace_Base_at(self, index, value): - self.Base[index] = value - def get_EffectiveDate(self): - return self.EffectiveDate - def set_EffectiveDate(self, EffectiveDate): - self.EffectiveDate = EffectiveDate - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def get_ExpireDateExclusiveInd(self): - return self.ExpireDateExclusiveInd - def set_ExpireDateExclusiveInd(self, ExpireDateExclusiveInd): - self.ExpireDateExclusiveInd = ExpireDateExclusiveInd - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType536(self, value): - # Validate type RateTimeUnitType536, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType536' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Base - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType534', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType534') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType534': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType534') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType534', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType534'): - if self.EffectiveDate is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - outfile.write(' EffectiveDate="%s"' % self.gds_format_date(self.EffectiveDate, input_name='EffectiveDate')) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate="%s"' % self.gds_format_date(self.ExpireDate, input_name='ExpireDate')) - if self.ExpireDateExclusiveInd is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - outfile.write(' ExpireDateExclusiveInd="%s"' % self.gds_format_boolean(self.ExpireDateExclusiveInd, input_name='ExpireDateExclusiveInd')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType534', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Base_ in self.Base: - namespaceprefix_ = self.Base_nsprefix_ + ':' if (UseCapturedNS_ and self.Base_nsprefix_) else '' - Base_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Base', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EffectiveDate', node) - if value is not None and 'EffectiveDate' not in already_processed: - already_processed.add('EffectiveDate') - try: - self.EffectiveDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EffectiveDate): %s' % exp) - self.validate_def_date(self.EffectiveDate) # validate type def_date - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - try: - self.ExpireDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (ExpireDate): %s' % exp) - self.validate_def_date(self.ExpireDate) # validate type def_date - value = find_attr_value_('ExpireDateExclusiveInd', node) - if value is not None and 'ExpireDateExclusiveInd' not in already_processed: - already_processed.add('ExpireDateExclusiveInd') - if value in ('true', '1'): - self.ExpireDateExclusiveInd = True - elif value in ('false', '0'): - self.ExpireDateExclusiveInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.ExpireDateExclusiveInd) # validate type def_bool - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType536(self.RateTimeUnit) # validate type RateTimeUnitType536 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Base': - obj_ = BaseType535.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Base.append(obj_) - obj_.original_tagname_ = 'Base' -# end class RateType534 - - -class BaseType535(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseType535) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseType535.subclass: - return BaseType535.subclass(*args_, **kwargs_) - else: - return BaseType535(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType535', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseType535') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseType535': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseType535') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseType535', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseType535'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseType535', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseType535 - - -class GuestCountsType537(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType537) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType537.subclass: - return GuestCountsType537.subclass(*args_, **kwargs_) - else: - return GuestCountsType537(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType537', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType537') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType537': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType537') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType537', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType537'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType537', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType538.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType537 - - -class GuestCountType538(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Count=None, Age=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType538) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType538.subclass: - return GuestCountType538.subclass(*args_, **kwargs_) - else: - return GuestCountType538(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType538', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType538') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType538': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType538') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType538', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType538'): - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType538', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Age) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType538 - - -class TimeSpanType539(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.StartDateWindow = StartDateWindow - self.StartDateWindow_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType539) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType539.subclass: - return TimeSpanType539.subclass(*args_, **kwargs_) - else: - return TimeSpanType539(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StartDateWindow(self): - return self.StartDateWindow - def set_StartDateWindow(self, StartDateWindow): - self.StartDateWindow = StartDateWindow - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_DurationType541(self, value): - # Validate type DurationType541, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType541_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType541_patterns_, )) - validate_DurationType541_patterns_ = [['^(P[0-9]+N)$']] - def has__content(self): - if ( - self.StartDateWindow is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType539', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType539') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType539': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType539') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType539', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType539'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TimeSpanType539', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.StartDateWindow is not None: - namespaceprefix_ = self.StartDateWindow_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDateWindow_nsprefix_) else '' - self.StartDateWindow.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StartDateWindow', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType541(self.Duration) # validate type DurationType541 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StartDateWindow': - obj_ = StartDateWindowType540.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StartDateWindow = obj_ - obj_.original_tagname_ = 'StartDateWindow' -# end class TimeSpanType539 - - -class StartDateWindowType540(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EarliestDate=None, LatestDate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EarliestDate = _cast(None, EarliestDate) - self.EarliestDate_nsprefix_ = None - self.LatestDate = _cast(None, LatestDate) - self.LatestDate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StartDateWindowType540) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StartDateWindowType540.subclass: - return StartDateWindowType540.subclass(*args_, **kwargs_) - else: - return StartDateWindowType540(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EarliestDate(self): - return self.EarliestDate - def set_EarliestDate(self, EarliestDate): - self.EarliestDate = EarliestDate - def get_LatestDate(self): - return self.LatestDate - def set_LatestDate(self, LatestDate): - self.LatestDate = LatestDate - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType540', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StartDateWindowType540') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StartDateWindowType540': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StartDateWindowType540') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StartDateWindowType540', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StartDateWindowType540'): - if self.EarliestDate is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - outfile.write(' EarliestDate="%s"' % self.gds_format_date(self.EarliestDate, input_name='EarliestDate')) - if self.LatestDate is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - outfile.write(' LatestDate="%s"' % self.gds_format_date(self.LatestDate, input_name='LatestDate')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StartDateWindowType540', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EarliestDate', node) - if value is not None and 'EarliestDate' not in already_processed: - already_processed.add('EarliestDate') - try: - self.EarliestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (EarliestDate): %s' % exp) - self.validate_def_date(self.EarliestDate) # validate type def_date - value = find_attr_value_('LatestDate', node) - if value is not None and 'LatestDate' not in already_processed: - already_processed.add('LatestDate') - try: - self.LatestDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (LatestDate): %s' % exp) - self.validate_def_date(self.LatestDate) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StartDateWindowType540 - - -class GuaranteeType542(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteesAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteesAccepted = GuaranteesAccepted - self.GuaranteesAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeType542) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeType542.subclass: - return GuaranteeType542.subclass(*args_, **kwargs_) - else: - return GuaranteeType542(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteesAccepted(self): - return self.GuaranteesAccepted - def set_GuaranteesAccepted(self, GuaranteesAccepted): - self.GuaranteesAccepted = GuaranteesAccepted - def has__content(self): - if ( - self.GuaranteesAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType542', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeType542') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeType542': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeType542') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeType542', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeType542'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeType542', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteesAccepted is not None: - namespaceprefix_ = self.GuaranteesAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteesAccepted_nsprefix_) else '' - self.GuaranteesAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteesAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteesAccepted': - obj_ = GuaranteesAcceptedType543.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteesAccepted = obj_ - obj_.original_tagname_ = 'GuaranteesAccepted' -# end class GuaranteeType542 - - -class GuaranteesAcceptedType543(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeAccepted=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeAccepted = GuaranteeAccepted - self.GuaranteeAccepted_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteesAcceptedType543) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteesAcceptedType543.subclass: - return GuaranteesAcceptedType543.subclass(*args_, **kwargs_) - else: - return GuaranteesAcceptedType543(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteeAccepted(self): - return self.GuaranteeAccepted - def set_GuaranteeAccepted(self, GuaranteeAccepted): - self.GuaranteeAccepted = GuaranteeAccepted - def has__content(self): - if ( - self.GuaranteeAccepted is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType543', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteesAcceptedType543') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteesAcceptedType543': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteesAcceptedType543') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteesAcceptedType543', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteesAcceptedType543'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteesAcceptedType543', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteeAccepted is not None: - namespaceprefix_ = self.GuaranteeAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteeAccepted_nsprefix_) else '' - self.GuaranteeAccepted.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteeAccepted', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteeAccepted': - obj_ = GuaranteeAcceptedType544.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteeAccepted = obj_ - obj_.original_tagname_ = 'GuaranteeAccepted' -# end class GuaranteesAcceptedType543 - - -class GuaranteeAcceptedType544(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteeAcceptedType544) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteeAcceptedType544.subclass: - return GuaranteeAcceptedType544.subclass(*args_, **kwargs_) - else: - return GuaranteeAcceptedType544(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType544', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteeAcceptedType544') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteeAcceptedType544': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteeAcceptedType544') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteeAcceptedType544', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteeAcceptedType544'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteeAcceptedType544', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType545.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class GuaranteeAcceptedType544 - - -class PaymentCardType545(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType545) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType545.subclass: - return PaymentCardType545.subclass(*args_, **kwargs_) - else: - return PaymentCardType545(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType547(self, value): - # Validate type CardCodeType547, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType547_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType547_patterns_, )) - validate_CardCodeType547_patterns_ = [['^([A-Z][A-Z]?)$']] - def validate_ExpireDateType548(self, value): - # Validate type ExpireDateType548, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType548_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType548_patterns_, )) - validate_ExpireDateType548_patterns_ = [['^([0-9][0-9][0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType545', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType545') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType545': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType545') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType545', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType545'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType545', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType547(self.CardCode) # validate type CardCodeType547 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType548(self.ExpireDate) # validate type ExpireDateType548 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType546.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType545 - - -class CardNumberType546(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EncryptedValue = _cast(None, EncryptedValue) - self.EncryptedValue_nsprefix_ = None - self.EncryptionMethod = _cast(None, EncryptionMethod) - self.EncryptionMethod_nsprefix_ = None - self.PlainText = PlainText - self.validate_def_nonempty_string(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType546) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType546.subclass: - return CardNumberType546.subclass(*args_, **kwargs_) - else: - return CardNumberType546(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_EncryptedValue(self): - return self.EncryptedValue - def set_EncryptedValue(self, EncryptedValue): - self.EncryptedValue = EncryptedValue - def get_EncryptionMethod(self): - return self.EncryptionMethod - def set_EncryptionMethod(self, EncryptionMethod): - self.EncryptionMethod = EncryptionMethod - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType546', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType546') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType546': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType546') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType546', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType546'): - if self.EncryptedValue is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - outfile.write(' EncryptedValue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptedValue), input_name='EncryptedValue')), )) - if self.EncryptionMethod is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - outfile.write(' EncryptionMethod=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EncryptionMethod), input_name='EncryptionMethod')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CardNumberType546', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EncryptedValue', node) - if value is not None and 'EncryptedValue' not in already_processed: - already_processed.add('EncryptedValue') - self.EncryptedValue = value - self.validate_def_nonempty_string(self.EncryptedValue) # validate type def_nonempty_string - value = find_attr_value_('EncryptionMethod', node) - if value is not None and 'EncryptionMethod' not in already_processed: - already_processed.add('EncryptionMethod') - self.EncryptionMethod = value - self.validate_def_nonempty_string(self.EncryptionMethod) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.PlainText) -# end class CardNumberType546 - - -class TotalType549(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType549) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType549.subclass: - return TotalType549.subclass(*args_, **kwargs_) - else: - return TotalType549(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType549', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType549') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType549': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType549') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType549', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType549'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType549', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType549 - - -class ServiceRPHsType550(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ServiceRPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ServiceRPH is None: - self.ServiceRPH = [] - else: - self.ServiceRPH = ServiceRPH - self.ServiceRPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHsType550) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHsType550.subclass: - return ServiceRPHsType550.subclass(*args_, **kwargs_) - else: - return ServiceRPHsType550(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def add_ServiceRPH(self, value): - self.ServiceRPH.append(value) - def insert_ServiceRPH_at(self, index, value): - self.ServiceRPH.insert(index, value) - def replace_ServiceRPH_at(self, index, value): - self.ServiceRPH[index] = value - def has__content(self): - if ( - self.ServiceRPH - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType550', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHsType550') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHsType550': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHsType550') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHsType550', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHsType550'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceRPHsType550', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ServiceRPH_ in self.ServiceRPH: - namespaceprefix_ = self.ServiceRPH_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceRPH_nsprefix_) else '' - ServiceRPH_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceRPH', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceRPH': - obj_ = ServiceRPHType551.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceRPH.append(obj_) - obj_.original_tagname_ = 'ServiceRPH' -# end class ServiceRPHsType550 - - -class ServiceRPHType551(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RPH=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RPH = _cast(None, RPH) - self.RPH_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceRPHType551) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceRPHType551.subclass: - return ServiceRPHType551.subclass(*args_, **kwargs_) - else: - return ServiceRPHType551(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RPH(self): - return self.RPH - def set_RPH(self, RPH): - self.RPH = RPH - def validate_RPHType552(self, value): - # Validate type RPHType552, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RPHType552_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RPHType552_patterns_, )) - validate_RPHType552_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType551', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceRPHType551') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceRPHType551': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceRPHType551') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceRPHType551', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceRPHType551'): - if self.RPH is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - outfile.write(' RPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RPH), input_name='RPH')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ServiceRPHType551', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RPH', node) - if value is not None and 'RPH' not in already_processed: - already_processed.add('RPH') - self.RPH = value - self.validate_RPHType552(self.RPH) # validate type RPHType552 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ServiceRPHType551 - - -class ServicesType553(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType553) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType553.subclass: - return ServicesType553.subclass(*args_, **kwargs_) - else: - return ServicesType553(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType553', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType553') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType553': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType553') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType553', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType553'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType553', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType554.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType553 - - -class ServiceType554(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.ServiceCategoryCode = _cast(None, ServiceCategoryCode) - self.ServiceCategoryCode_nsprefix_ = None - self.ServiceInventoryCode = _cast(None, ServiceInventoryCode) - self.ServiceInventoryCode_nsprefix_ = None - self.ServiceRPH = _cast(None, ServiceRPH) - self.ServiceRPH_nsprefix_ = None - self.ServicePricingType = _cast(None, ServicePricingType) - self.ServicePricingType_nsprefix_ = None - self.Inclusive = _cast(bool, Inclusive) - self.Inclusive_nsprefix_ = None - self.Quantity = _cast(int, Quantity) - self.Quantity_nsprefix_ = None - self.ServiceDetails = ServiceDetails - self.ServiceDetails_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType554) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType554.subclass: - return ServiceType554.subclass(*args_, **kwargs_) - else: - return ServiceType554(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ServiceDetails(self): - return self.ServiceDetails - def set_ServiceDetails(self, ServiceDetails): - self.ServiceDetails = ServiceDetails - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_ServiceCategoryCode(self): - return self.ServiceCategoryCode - def set_ServiceCategoryCode(self, ServiceCategoryCode): - self.ServiceCategoryCode = ServiceCategoryCode - def get_ServiceInventoryCode(self): - return self.ServiceInventoryCode - def set_ServiceInventoryCode(self, ServiceInventoryCode): - self.ServiceInventoryCode = ServiceInventoryCode - def get_ServiceRPH(self): - return self.ServiceRPH - def set_ServiceRPH(self, ServiceRPH): - self.ServiceRPH = ServiceRPH - def get_ServicePricingType(self): - return self.ServicePricingType - def set_ServicePricingType(self, ServicePricingType): - self.ServicePricingType = ServicePricingType - def get_Inclusive(self): - return self.Inclusive - def set_Inclusive(self, Inclusive): - self.Inclusive = Inclusive - def get_Quantity(self): - return self.Quantity - def set_Quantity(self, Quantity): - self.Quantity = Quantity - def validate_def_one_to_thirty_two_chars_string(self, value): - # Validate type def_one_to_thirty_two_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_thirty_two_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType567(self, value): - # Validate type TypeType567, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['16'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType567' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceCategoryCodeType568(self, value): - # Validate type ServiceCategoryCodeType568, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['BOARD', 'SUPPLEMENT', 'SPA', 'FOOD', 'BEVERAGE', 'ACTIVITY', 'TOURISTTAX', 'TRANSFER', 'OTHER'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServiceCategoryCodeType568' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_one_to_sixteen_chars_string(self, value): - # Validate type def_one_to_sixteen_chars_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_one_to_sixteen_chars_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ServiceRPHType569(self, value): - # Validate type ServiceRPHType569, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ServiceRPHType569_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ServiceRPHType569_patterns_, )) - validate_ServiceRPHType569_patterns_ = [['^([0-9]{1,8})$']] - def validate_ServicePricingTypeType570(self, value): - # Validate type ServicePricingTypeType570, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Per night', 'Per person', 'Per person per night', 'Per stay', 'Per use'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ServicePricingTypeType570' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ServiceDetails is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType554', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType554') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType554': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType554') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType554', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType554'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.ServiceCategoryCode is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - outfile.write(' ServiceCategoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceCategoryCode), input_name='ServiceCategoryCode')), )) - if self.ServiceInventoryCode is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - outfile.write(' ServiceInventoryCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceInventoryCode), input_name='ServiceInventoryCode')), )) - if self.ServiceRPH is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - outfile.write(' ServiceRPH=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServiceRPH), input_name='ServiceRPH')), )) - if self.ServicePricingType is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - outfile.write(' ServicePricingType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ServicePricingType), input_name='ServicePricingType')), )) - if self.Inclusive is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - outfile.write(' Inclusive="%s"' % self.gds_format_boolean(self.Inclusive, input_name='Inclusive')) - if self.Quantity is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - outfile.write(' Quantity="%s"' % self.gds_format_integer(self.Quantity, input_name='Quantity')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType554', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ServiceDetails is not None: - namespaceprefix_ = self.ServiceDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDetails_nsprefix_) else '' - self.ServiceDetails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDetails', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_one_to_thirty_two_chars_string(self.ID) # validate type def_one_to_thirty_two_chars_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType567(self.Type) # validate type TypeType567 - value = find_attr_value_('ServiceCategoryCode', node) - if value is not None and 'ServiceCategoryCode' not in already_processed: - already_processed.add('ServiceCategoryCode') - self.ServiceCategoryCode = value - self.validate_ServiceCategoryCodeType568(self.ServiceCategoryCode) # validate type ServiceCategoryCodeType568 - value = find_attr_value_('ServiceInventoryCode', node) - if value is not None and 'ServiceInventoryCode' not in already_processed: - already_processed.add('ServiceInventoryCode') - self.ServiceInventoryCode = value - self.validate_def_one_to_sixteen_chars_string(self.ServiceInventoryCode) # validate type def_one_to_sixteen_chars_string - value = find_attr_value_('ServiceRPH', node) - if value is not None and 'ServiceRPH' not in already_processed: - already_processed.add('ServiceRPH') - self.ServiceRPH = value - self.validate_ServiceRPHType569(self.ServiceRPH) # validate type ServiceRPHType569 - value = find_attr_value_('ServicePricingType', node) - if value is not None and 'ServicePricingType' not in already_processed: - already_processed.add('ServicePricingType') - self.ServicePricingType = value - self.validate_ServicePricingTypeType570(self.ServicePricingType) # validate type ServicePricingTypeType570 - value = find_attr_value_('Inclusive', node) - if value is not None and 'Inclusive' not in already_processed: - already_processed.add('Inclusive') - if value in ('true', '1'): - self.Inclusive = True - elif value in ('false', '0'): - self.Inclusive = False - else: - raise_parse_error(node, 'Bad boolean attribute') - value = find_attr_value_('Quantity', node) - if value is not None and 'Quantity' not in already_processed: - already_processed.add('Quantity') - self.Quantity = self.gds_parse_integer(value, node, 'Quantity') - if self.Quantity <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Quantity) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ServiceDetails': - obj_ = ServiceDetailsType555.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDetails = obj_ - obj_.original_tagname_ = 'ServiceDetails' -# end class ServiceType554 - - -class ServiceDetailsType555(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestCounts = GuestCounts - self.GuestCounts_nsprefix_ = None - self.TimeSpan = TimeSpan - self.TimeSpan_nsprefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.Total = Total - self.Total_nsprefix_ = None - self.ServiceDescription = ServiceDescription - self.ServiceDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDetailsType555) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDetailsType555.subclass: - return ServiceDetailsType555.subclass(*args_, **kwargs_) - else: - return ServiceDetailsType555(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCounts(self): - return self.GuestCounts - def set_GuestCounts(self, GuestCounts): - self.GuestCounts = GuestCounts - def get_TimeSpan(self): - return self.TimeSpan - def set_TimeSpan(self, TimeSpan): - self.TimeSpan = TimeSpan - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_Total(self): - return self.Total - def set_Total(self, Total): - self.Total = Total - def get_ServiceDescription(self): - return self.ServiceDescription - def set_ServiceDescription(self, ServiceDescription): - self.ServiceDescription = ServiceDescription - def has__content(self): - if ( - self.GuestCounts is not None or - self.TimeSpan is not None or - self.Comments is not None or - self.Total is not None or - self.ServiceDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType555', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDetailsType555') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDetailsType555': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDetailsType555') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDetailsType555', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDetailsType555'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDetailsType555', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestCounts is not None: - namespaceprefix_ = self.GuestCounts_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCounts_nsprefix_) else '' - self.GuestCounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCounts', pretty_print=pretty_print) - if self.TimeSpan is not None: - namespaceprefix_ = self.TimeSpan_nsprefix_ + ':' if (UseCapturedNS_ and self.TimeSpan_nsprefix_) else '' - self.TimeSpan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TimeSpan', pretty_print=pretty_print) - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.Total is not None: - namespaceprefix_ = self.Total_nsprefix_ + ':' if (UseCapturedNS_ and self.Total_nsprefix_) else '' - self.Total.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Total', pretty_print=pretty_print) - if self.ServiceDescription is not None: - namespaceprefix_ = self.ServiceDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.ServiceDescription_nsprefix_) else '' - self.ServiceDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ServiceDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCounts': - obj_ = GuestCountsType556.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCounts = obj_ - obj_.original_tagname_ = 'GuestCounts' - elif nodeName_ == 'TimeSpan': - obj_ = TimeSpanType558.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TimeSpan = obj_ - obj_.original_tagname_ = 'TimeSpan' - elif nodeName_ == 'Comments': - obj_ = CommentsType559.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'Total': - obj_ = TotalType563.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Total = obj_ - obj_.original_tagname_ = 'Total' - elif nodeName_ == 'ServiceDescription': - obj_ = ServiceDescriptionType564.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ServiceDescription = obj_ - obj_.original_tagname_ = 'ServiceDescription' -# end class ServiceDetailsType555 - - -class GuestCountsType556(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestCount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestCount is None: - self.GuestCount = [] - else: - self.GuestCount = GuestCount - self.GuestCount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountsType556) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountsType556.subclass: - return GuestCountsType556.subclass(*args_, **kwargs_) - else: - return GuestCountsType556(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestCount(self): - return self.GuestCount - def set_GuestCount(self, GuestCount): - self.GuestCount = GuestCount - def add_GuestCount(self, value): - self.GuestCount.append(value) - def insert_GuestCount_at(self, index, value): - self.GuestCount.insert(index, value) - def replace_GuestCount_at(self, index, value): - self.GuestCount[index] = value - def has__content(self): - if ( - self.GuestCount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType556', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountsType556') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountsType556': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountsType556') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountsType556', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountsType556'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestCountsType556', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestCount_ in self.GuestCount: - namespaceprefix_ = self.GuestCount_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestCount_nsprefix_) else '' - GuestCount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestCount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestCount': - obj_ = GuestCountType557.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestCount.append(obj_) - obj_.original_tagname_ = 'GuestCount' -# end class GuestCountsType556 - - -class GuestCountType557(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Age=None, Count=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Age = _cast(int, Age) - self.Age_nsprefix_ = None - self.Count = _cast(int, Count) - self.Count_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestCountType557) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestCountType557.subclass: - return GuestCountType557.subclass(*args_, **kwargs_) - else: - return GuestCountType557(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Age(self): - return self.Age - def set_Age(self, Age): - self.Age = Age - def get_Count(self): - return self.Count - def set_Count(self, Count): - self.Count = Count - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType557', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestCountType557') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestCountType557': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestCountType557') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestCountType557', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestCountType557'): - if self.Age is not None and 'Age' not in already_processed: - already_processed.add('Age') - outfile.write(' Age="%s"' % self.gds_format_integer(self.Age, input_name='Age')) - if self.Count is not None and 'Count' not in already_processed: - already_processed.add('Count') - outfile.write(' Count="%s"' % self.gds_format_integer(self.Count, input_name='Count')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestCountType557', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Age', node) - if value is not None and 'Age' not in already_processed: - already_processed.add('Age') - self.Age = self.gds_parse_integer(value, node, 'Age') - if self.Age <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Age) # validate type def_int_gt0 - value = find_attr_value_('Count', node) - if value is not None and 'Count' not in already_processed: - already_processed.add('Count') - self.Count = self.gds_parse_integer(value, node, 'Count') - if self.Count <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Count) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestCountType557 - - -class TimeSpanType558(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TimeSpanType558) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TimeSpanType558.subclass: - return TimeSpanType558.subclass(*args_, **kwargs_) - else: - return TimeSpanType558(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_def_datetime(self, value): - # Validate type def_datetime, a restriction on xs:dateTime. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.datetime): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.datetime)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_datetime_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_datetime_patterns_, )) - validate_def_datetime_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType558', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TimeSpanType558') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TimeSpanType558': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TimeSpanType558') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TimeSpanType558', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TimeSpanType558'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_datetime(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_datetime(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TimeSpanType558', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (Start): %s' % exp) - self.validate_def_datetime(self.Start) # validate type def_datetime - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_datetime(value) - except ValueError as exp: - raise ValueError('Bad date-time attribute (End): %s' % exp) - self.validate_def_datetime(self.End) # validate type def_datetime - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TimeSpanType558 - - -class CommentsType559(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType559) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType559.subclass: - return CommentsType559.subclass(*args_, **kwargs_) - else: - return CommentsType559(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def has__content(self): - if ( - self.Comment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType559', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType559') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType559': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType559') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType559', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType559'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType559', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comment is not None: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - self.Comment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType560.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment = obj_ - obj_.original_tagname_ = 'Comment' -# end class CommentsType559 - - -class CommentType560(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType560) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType560.subclass: - return CommentType560.subclass(*args_, **kwargs_) - else: - return CommentType560(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType560', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType560') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType560': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType560') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType560', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType560'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType560', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType561.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class CommentType560 - - -class TextType561(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType561) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType561.subclass: - return TextType561.subclass(*args_, **kwargs_) - else: - return TextType561(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType562(self, value): - # Validate type TextFormatType562, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType562' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType561', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType561') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType561': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType561') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType561'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType561', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType562(self.TextFormat) # validate type TextFormatType562 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType561 - - -class TotalType563(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AmountAfterTax=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TotalType563) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TotalType563.subclass: - return TotalType563.subclass(*args_, **kwargs_) - else: - return TotalType563(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType563', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TotalType563') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TotalType563': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TotalType563') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TotalType563', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TotalType563'): - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TotalType563', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_ge0(self.AmountAfterTax) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TotalType563 - - -class ServiceDescriptionType564(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceDescriptionType564) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceDescriptionType564.subclass: - return ServiceDescriptionType564.subclass(*args_, **kwargs_) - else: - return ServiceDescriptionType564(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType564', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceDescriptionType564') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceDescriptionType564': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceDescriptionType564') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceDescriptionType564', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceDescriptionType564'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceDescriptionType564', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType565.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class ServiceDescriptionType564 - - -class TextType565(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType565) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType565.subclass: - return TextType565.subclass(*args_, **kwargs_) - else: - return TextType565(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType566(self, value): - # Validate type TextFormatType566, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType566' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType565', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType565') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType565': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType565') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType565'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType565', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType566(self.TextFormat) # validate type TextFormatType566 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType565 - - -class ResGuestsType571(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResGuest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResGuest = ResGuest - self.ResGuest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestsType571) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestsType571.subclass: - return ResGuestsType571.subclass(*args_, **kwargs_) - else: - return ResGuestsType571(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResGuest(self): - return self.ResGuest - def set_ResGuest(self, ResGuest): - self.ResGuest = ResGuest - def has__content(self): - if ( - self.ResGuest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType571', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestsType571') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestsType571': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestsType571') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestsType571', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestsType571'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestsType571', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ResGuest is not None: - namespaceprefix_ = self.ResGuest_nsprefix_ + ':' if (UseCapturedNS_ and self.ResGuest_nsprefix_) else '' - self.ResGuest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ResGuest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ResGuest': - obj_ = ResGuestType572.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ResGuest = obj_ - obj_.original_tagname_ = 'ResGuest' -# end class ResGuestsType571 - - -class ResGuestType572(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profiles=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGuestType572) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGuestType572.subclass: - return ResGuestType572.subclass(*args_, **kwargs_) - else: - return ResGuestType572(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def has__content(self): - if ( - self.Profiles is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType572', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGuestType572') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGuestType572': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGuestType572') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGuestType572', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGuestType572'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGuestType572', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profiles': - obj_ = ProfilesType573.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' -# end class ResGuestType572 - - -class ProfilesType573(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType573) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType573.subclass: - return ProfilesType573.subclass(*args_, **kwargs_) - else: - return ProfilesType573(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType573', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType573') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType573': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType573') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType573', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType573'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType573', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType574.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType573 - - -class ProfileInfoType574(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType574) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType574.subclass: - return ProfileInfoType574.subclass(*args_, **kwargs_) - else: - return ProfileInfoType574(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType574', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType574') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType574': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType574') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType574', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType574'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType574', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType575.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType574 - - -class ProfileType575(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Customer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Customer = Customer - self.Customer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType575) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType575.subclass: - return ProfileType575.subclass(*args_, **kwargs_) - else: - return ProfileType575(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Customer(self): - return self.Customer - def set_Customer(self, Customer): - self.Customer = Customer - def has__content(self): - if ( - self.Customer is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType575', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType575') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType575': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType575') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType575', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType575'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType575', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Customer is not None: - namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' - self.Customer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Customer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Customer': - obj_ = CustomerType576.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Customer = obj_ - obj_.original_tagname_ = 'Customer' -# end class ProfileType575 - - -class CustomerType576(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Gender = _cast(None, Gender) - self.Gender_nsprefix_ = None - self.BirthDate = _cast(None, BirthDate) - self.BirthDate_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.PersonName = PersonName - self.PersonName_nsprefix_ = None - if Telephone is None: - self.Telephone = [] - else: - self.Telephone = Telephone - self.Telephone_nsprefix_ = None - self.Email = Email - self.Email_nsprefix_ = None - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CustomerType576) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CustomerType576.subclass: - return CustomerType576.subclass(*args_, **kwargs_) - else: - return CustomerType576(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PersonName(self): - return self.PersonName - def set_PersonName(self, PersonName): - self.PersonName = PersonName - def get_Telephone(self): - return self.Telephone - def set_Telephone(self, Telephone): - self.Telephone = Telephone - def add_Telephone(self, value): - self.Telephone.append(value) - def insert_Telephone_at(self, index, value): - self.Telephone.insert(index, value) - def replace_Telephone_at(self, index, value): - self.Telephone[index] = value - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def get_Gender(self): - return self.Gender - def set_Gender(self, Gender): - self.Gender = Gender - def get_BirthDate(self): - return self.BirthDate - def set_BirthDate(self, BirthDate): - self.BirthDate = BirthDate - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_GenderType587(self, value): - # Validate type GenderType587, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_GenderType587_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_GenderType587_patterns_, )) - validate_GenderType587_patterns_ = [['^((Unknown|Male|Female))$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_LanguageType588(self, value): - # Validate type LanguageType588, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType588_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType588_patterns_, )) - validate_LanguageType588_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.PersonName is not None or - self.Telephone or - self.Email is not None or - self.Address is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType576', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerType576') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CustomerType576': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerType576') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CustomerType576', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CustomerType576'): - if self.Gender is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - outfile.write(' Gender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Gender), input_name='Gender')), )) - if self.BirthDate is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - outfile.write(' BirthDate="%s"' % self.gds_format_date(self.BirthDate, input_name='BirthDate')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CustomerType576', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PersonName is not None: - namespaceprefix_ = self.PersonName_nsprefix_ + ':' if (UseCapturedNS_ and self.PersonName_nsprefix_) else '' - self.PersonName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PersonName', pretty_print=pretty_print) - for Telephone_ in self.Telephone: - namespaceprefix_ = self.Telephone_nsprefix_ + ':' if (UseCapturedNS_ and self.Telephone_nsprefix_) else '' - Telephone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telephone', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - self.Email.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - if self.Address is not None: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Gender', node) - if value is not None and 'Gender' not in already_processed: - already_processed.add('Gender') - self.Gender = value - self.validate_GenderType587(self.Gender) # validate type GenderType587 - value = find_attr_value_('BirthDate', node) - if value is not None and 'BirthDate' not in already_processed: - already_processed.add('BirthDate') - try: - self.BirthDate = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (BirthDate): %s' % exp) - self.validate_def_date(self.BirthDate) # validate type def_date - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType588(self.Language) # validate type LanguageType588 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PersonName': - obj_ = PersonNameType577.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PersonName = obj_ - obj_.original_tagname_ = 'PersonName' - elif nodeName_ == 'Telephone': - obj_ = TelephoneType578.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Telephone.append(obj_) - obj_.original_tagname_ = 'Telephone' - elif nodeName_ == 'Email': - obj_ = EmailType581.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email = obj_ - obj_.original_tagname_ = 'Email' - elif nodeName_ == 'Address': - obj_ = AddressType583.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address = obj_ - obj_.original_tagname_ = 'Address' -# end class CustomerType576 - - -class PersonNameType577(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NamePrefix = NamePrefix - self.validate_StringLength1to16(self.NamePrefix) - self.NamePrefix_nsprefix_ = None - self.GivenName = GivenName - self.validate_StringLength1to64(self.GivenName) - self.GivenName_nsprefix_ = None - self.Surname = Surname - self.validate_StringLength1to64(self.Surname) - self.Surname_nsprefix_ = None - self.NameTitle = NameTitle - self.validate_StringLength1to16(self.NameTitle) - self.NameTitle_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PersonNameType577) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PersonNameType577.subclass: - return PersonNameType577.subclass(*args_, **kwargs_) - else: - return PersonNameType577(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NamePrefix(self): - return self.NamePrefix - def set_NamePrefix(self, NamePrefix): - self.NamePrefix = NamePrefix - def get_GivenName(self): - return self.GivenName - def set_GivenName(self, GivenName): - self.GivenName = GivenName - def get_Surname(self): - return self.Surname - def set_Surname(self, Surname): - self.Surname = Surname - def get_NameTitle(self): - return self.NameTitle - def set_NameTitle(self, NameTitle): - self.NameTitle = NameTitle - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.NamePrefix is not None or - self.GivenName is not None or - self.Surname is not None or - self.NameTitle is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType577', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PersonNameType577') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PersonNameType577': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PersonNameType577') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PersonNameType577', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PersonNameType577'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PersonNameType577', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.NamePrefix is not None: - namespaceprefix_ = self.NamePrefix_nsprefix_ + ':' if (UseCapturedNS_ and self.NamePrefix_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNamePrefix>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NamePrefix), input_name='NamePrefix')), namespaceprefix_ , eol_)) - if self.GivenName is not None: - namespaceprefix_ = self.GivenName_nsprefix_ + ':' if (UseCapturedNS_ and self.GivenName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sGivenName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GivenName), input_name='GivenName')), namespaceprefix_ , eol_)) - if self.Surname is not None: - namespaceprefix_ = self.Surname_nsprefix_ + ':' if (UseCapturedNS_ and self.Surname_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sSurname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Surname), input_name='Surname')), namespaceprefix_ , eol_)) - if self.NameTitle is not None: - namespaceprefix_ = self.NameTitle_nsprefix_ + ':' if (UseCapturedNS_ and self.NameTitle_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sNameTitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NameTitle), input_name='NameTitle')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'NamePrefix': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NamePrefix') - value_ = self.gds_validate_string(value_, node, 'NamePrefix') - self.NamePrefix = value_ - self.NamePrefix_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NamePrefix) - elif nodeName_ == 'GivenName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'GivenName') - value_ = self.gds_validate_string(value_, node, 'GivenName') - self.GivenName = value_ - self.GivenName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.GivenName) - elif nodeName_ == 'Surname': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Surname') - value_ = self.gds_validate_string(value_, node, 'Surname') - self.Surname = value_ - self.Surname_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.Surname) - elif nodeName_ == 'NameTitle': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'NameTitle') - value_ = self.gds_validate_string(value_, node, 'NameTitle') - self.NameTitle = value_ - self.NameTitle_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.NameTitle) -# end class PersonNameType577 - - -class TelephoneType578(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneType578) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneType578.subclass: - return TelephoneType578.subclass(*args_, **kwargs_) - else: - return TelephoneType578(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType579(self, value): - # Validate type PhoneTechTypeType579, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType579_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType579_patterns_, )) - validate_PhoneTechTypeType579_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType580(self, value): - # Validate type PhoneNumberType580, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType580_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType580_patterns_, )) - validate_PhoneNumberType580_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType578', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneType578') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneType578': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneType578') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneType578', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneType578'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneType578', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType579(self.PhoneTechType) # validate type PhoneTechTypeType579 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType580(self.PhoneNumber) # validate type PhoneNumberType580 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneType578 - - -class EmailType581(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType581) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType581.subclass: - return EmailType581.subclass(*args_, **kwargs_) - else: - return EmailType581(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_email_string(self, value): - result = True - # Validate type def_email_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_email_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_email_string_patterns_, )) - result = False - return result - validate_def_email_string_patterns_ = [['^(\\S+@\\S+)$']] - def validate_RemarkType582(self, value): - # Validate type RemarkType582, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType582_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType582_patterns_, )) - validate_RemarkType582_patterns_ = [['^(newsletter:(no|yes))$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType581', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType581') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType581': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType581') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType581'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType581', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType582(self.Remark) # validate type RemarkType582 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType581 - - -class AddressType583(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Remark = _cast(None, Remark) - self.Remark_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType583) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType583.subclass: - return AddressType583.subclass(*args_, **kwargs_) - else: - return AddressType583(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Remark(self): - return self.Remark - def set_Remark(self, Remark): - self.Remark = Remark - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_RemarkType586(self, value): - # Validate type RemarkType586, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_RemarkType586_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_RemarkType586_patterns_, )) - validate_RemarkType586_patterns_ = [['^(catalog:(no|yes))$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType583', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType583') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType583': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType583') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType583', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType583'): - if self.Remark is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - outfile.write(' Remark=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Remark), input_name='Remark')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType583', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Remark', node) - if value is not None and 'Remark' not in already_processed: - already_processed.add('Remark') - self.Remark = value - self.validate_RemarkType586(self.Remark) # validate type RemarkType586 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType584.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType583 - - -class CountryNameType584(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType584) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType584.subclass: - return CountryNameType584.subclass(*args_, **kwargs_) - else: - return CountryNameType584(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType585(self, value): - # Validate type CodeType585, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType585_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType585_patterns_, )) - validate_CodeType585_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType584', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType584') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType584': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType584') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType584', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType584'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType584', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType585(self.Code) # validate type CodeType585 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType584 - - -class ResGlobalInfoType589(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Comments = Comments - self.Comments_nsprefix_ = None - self.SpecialRequests = SpecialRequests - self.SpecialRequests_nsprefix_ = None - self.DepositPayments = DepositPayments - self.DepositPayments_nsprefix_ = None - self.CancelPenalties = CancelPenalties - self.CancelPenalties_nsprefix_ = None - self.HotelReservationIDs = HotelReservationIDs - self.HotelReservationIDs_nsprefix_ = None - self.Profiles = Profiles - self.Profiles_nsprefix_ = None - self.BasicPropertyInfo = BasicPropertyInfo - self.BasicPropertyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ResGlobalInfoType589) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ResGlobalInfoType589.subclass: - return ResGlobalInfoType589.subclass(*args_, **kwargs_) - else: - return ResGlobalInfoType589(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comments(self): - return self.Comments - def set_Comments(self, Comments): - self.Comments = Comments - def get_SpecialRequests(self): - return self.SpecialRequests - def set_SpecialRequests(self, SpecialRequests): - self.SpecialRequests = SpecialRequests - def get_DepositPayments(self): - return self.DepositPayments - def set_DepositPayments(self, DepositPayments): - self.DepositPayments = DepositPayments - def get_CancelPenalties(self): - return self.CancelPenalties - def set_CancelPenalties(self, CancelPenalties): - self.CancelPenalties = CancelPenalties - def get_HotelReservationIDs(self): - return self.HotelReservationIDs - def set_HotelReservationIDs(self, HotelReservationIDs): - self.HotelReservationIDs = HotelReservationIDs - def get_Profiles(self): - return self.Profiles - def set_Profiles(self, Profiles): - self.Profiles = Profiles - def get_BasicPropertyInfo(self): - return self.BasicPropertyInfo - def set_BasicPropertyInfo(self, BasicPropertyInfo): - self.BasicPropertyInfo = BasicPropertyInfo - def has__content(self): - if ( - self.Comments is not None or - self.SpecialRequests is not None or - self.DepositPayments is not None or - self.CancelPenalties is not None or - self.HotelReservationIDs is not None or - self.Profiles is not None or - self.BasicPropertyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType589', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ResGlobalInfoType589') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ResGlobalInfoType589': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ResGlobalInfoType589') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ResGlobalInfoType589', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ResGlobalInfoType589'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ResGlobalInfoType589', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Comments is not None: - namespaceprefix_ = self.Comments_nsprefix_ + ':' if (UseCapturedNS_ and self.Comments_nsprefix_) else '' - self.Comments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comments', pretty_print=pretty_print) - if self.SpecialRequests is not None: - namespaceprefix_ = self.SpecialRequests_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequests_nsprefix_) else '' - self.SpecialRequests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequests', pretty_print=pretty_print) - if self.DepositPayments is not None: - namespaceprefix_ = self.DepositPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.DepositPayments_nsprefix_) else '' - self.DepositPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepositPayments', pretty_print=pretty_print) - if self.CancelPenalties is not None: - namespaceprefix_ = self.CancelPenalties_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalties_nsprefix_) else '' - self.CancelPenalties.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalties', pretty_print=pretty_print) - if self.HotelReservationIDs is not None: - namespaceprefix_ = self.HotelReservationIDs_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationIDs_nsprefix_) else '' - self.HotelReservationIDs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationIDs', pretty_print=pretty_print) - if self.Profiles is not None: - namespaceprefix_ = self.Profiles_nsprefix_ + ':' if (UseCapturedNS_ and self.Profiles_nsprefix_) else '' - self.Profiles.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profiles', pretty_print=pretty_print) - if self.BasicPropertyInfo is not None: - namespaceprefix_ = self.BasicPropertyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.BasicPropertyInfo_nsprefix_) else '' - self.BasicPropertyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BasicPropertyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comments': - obj_ = CommentsType590.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comments = obj_ - obj_.original_tagname_ = 'Comments' - elif nodeName_ == 'SpecialRequests': - obj_ = SpecialRequestsType595.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequests = obj_ - obj_.original_tagname_ = 'SpecialRequests' - elif nodeName_ == 'DepositPayments': - obj_ = DepositPaymentsType600.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepositPayments = obj_ - obj_.original_tagname_ = 'DepositPayments' - elif nodeName_ == 'CancelPenalties': - obj_ = CancelPenaltiesType616.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalties = obj_ - obj_.original_tagname_ = 'CancelPenalties' - elif nodeName_ == 'HotelReservationIDs': - obj_ = HotelReservationIDsType619.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationIDs = obj_ - obj_.original_tagname_ = 'HotelReservationIDs' - elif nodeName_ == 'Profiles': - obj_ = ProfilesType621.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profiles = obj_ - obj_.original_tagname_ = 'Profiles' - elif nodeName_ == 'BasicPropertyInfo': - obj_ = BasicPropertyInfoType633.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BasicPropertyInfo = obj_ - obj_.original_tagname_ = 'BasicPropertyInfo' -# end class ResGlobalInfoType589 - - -class CommentsType590(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Comment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Comment is None: - self.Comment = [] - else: - self.Comment = Comment - self.Comment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentsType590) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentsType590.subclass: - return CommentsType590.subclass(*args_, **kwargs_) - else: - return CommentsType590(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Comment(self): - return self.Comment - def set_Comment(self, Comment): - self.Comment = Comment - def add_Comment(self, value): - self.Comment.append(value) - def insert_Comment_at(self, index, value): - self.Comment.insert(index, value) - def replace_Comment_at(self, index, value): - self.Comment[index] = value - def has__content(self): - if ( - self.Comment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType590', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentsType590') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentsType590': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentsType590') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentsType590', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentsType590'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentsType590', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Comment_ in self.Comment: - namespaceprefix_ = self.Comment_nsprefix_ + ':' if (UseCapturedNS_ and self.Comment_nsprefix_) else '' - Comment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Comment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Comment': - obj_ = CommentType591.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Comment.append(obj_) - obj_.original_tagname_ = 'Comment' -# end class CommentsType590 - - -class CommentType591(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CommentType591) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CommentType591.subclass: - return CommentType591.subclass(*args_, **kwargs_) - else: - return CommentType591(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_NameType594(self, value): - # Validate type NameType594, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services', 'customer comment', 'additional info'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType594' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType591', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommentType591') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CommentType591': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommentType591') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommentType591', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommentType591'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CommentType591', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType594(self.Name) # validate type NameType594 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType592.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' - elif nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class CommentType591 - - -class ListItemType592(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType592) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType592.subclass: - return ListItemType592.subclass(*args_, **kwargs_) - else: - return ListItemType592(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType593(self, value): - # Validate type LanguageType593, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType593_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType593_patterns_, )) - validate_LanguageType593_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType592', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType592') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType592': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType592') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType592'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType592', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType593(self.Language) # validate type LanguageType593 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType592 - - -class SpecialRequestsType595(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SpecialRequest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if SpecialRequest is None: - self.SpecialRequest = [] - else: - self.SpecialRequest = SpecialRequest - self.SpecialRequest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestsType595) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestsType595.subclass: - return SpecialRequestsType595.subclass(*args_, **kwargs_) - else: - return SpecialRequestsType595(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_SpecialRequest(self): - return self.SpecialRequest - def set_SpecialRequest(self, SpecialRequest): - self.SpecialRequest = SpecialRequest - def add_SpecialRequest(self, value): - self.SpecialRequest.append(value) - def insert_SpecialRequest_at(self, index, value): - self.SpecialRequest.insert(index, value) - def replace_SpecialRequest_at(self, index, value): - self.SpecialRequest[index] = value - def has__content(self): - if ( - self.SpecialRequest - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType595', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestsType595') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestsType595': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestsType595') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestsType595', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestsType595'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestsType595', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for SpecialRequest_ in self.SpecialRequest: - namespaceprefix_ = self.SpecialRequest_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialRequest_nsprefix_) else '' - SpecialRequest_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SpecialRequest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'SpecialRequest': - obj_ = SpecialRequestType596.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.SpecialRequest.append(obj_) - obj_.original_tagname_ = 'SpecialRequest' -# end class SpecialRequestsType595 - - -class SpecialRequestType596(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RequestCode=None, CodeContext=None, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RequestCode = _cast(None, RequestCode) - self.RequestCode_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SpecialRequestType596) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SpecialRequestType596.subclass: - return SpecialRequestType596.subclass(*args_, **kwargs_) - else: - return SpecialRequestType596(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def get_RequestCode(self): - return self.RequestCode - def set_RequestCode(self, RequestCode): - self.RequestCode = RequestCode - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_CodeContextType599(self, value): - # Validate type CodeContextType599, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS', 'HOTEL'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType599' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType596', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SpecialRequestType596') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SpecialRequestType596': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SpecialRequestType596') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SpecialRequestType596', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SpecialRequestType596'): - if self.RequestCode is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - outfile.write(' RequestCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RequestCode), input_name='RequestCode')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SpecialRequestType596', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - self.Text.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RequestCode', node) - if value is not None and 'RequestCode' not in already_processed: - already_processed.add('RequestCode') - self.RequestCode = value - self.validate_StringLength1to16(self.RequestCode) # validate type StringLength1to16 - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType599(self.CodeContext) # validate type CodeContextType599 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType597.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text = obj_ - obj_.original_tagname_ = 'Text' -# end class SpecialRequestType596 - - -class TextType597(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType597) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType597.subclass: - return TextType597.subclass(*args_, **kwargs_) - else: - return TextType597(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TextFormatType598(self, value): - # Validate type TextFormatType598, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType598' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType597', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType597') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType597': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType597') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType597'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType597', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType598(self.TextFormat) # validate type TextFormatType598 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType597 - - -class DepositPaymentsType600(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuaranteePayment is None: - self.GuaranteePayment = [] - else: - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepositPaymentsType600) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepositPaymentsType600.subclass: - return DepositPaymentsType600.subclass(*args_, **kwargs_) - else: - return DepositPaymentsType600(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def add_GuaranteePayment(self, value): - self.GuaranteePayment.append(value) - def insert_GuaranteePayment_at(self, index, value): - self.GuaranteePayment.insert(index, value) - def replace_GuaranteePayment_at(self, index, value): - self.GuaranteePayment[index] = value - def has__content(self): - if ( - self.GuaranteePayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType600', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepositPaymentsType600') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepositPaymentsType600': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepositPaymentsType600') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepositPaymentsType600', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepositPaymentsType600'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DepositPaymentsType600', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuaranteePayment_ in self.GuaranteePayment: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - GuaranteePayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType601.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment.append(obj_) - obj_.original_tagname_ = 'GuaranteePayment' -# end class DepositPaymentsType600 - - -class GuaranteePaymentType601(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.GuaranteeCode = _cast(None, GuaranteeCode) - self.GuaranteeCode_nsprefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType601) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType601.subclass: - return GuaranteePaymentType601.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType601(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_GuaranteeCode(self): - return self.GuaranteeCode - def set_GuaranteeCode(self, GuaranteeCode): - self.GuaranteeCode = GuaranteeCode - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType601', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType601') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType601': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType601') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType601', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType601'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.GuaranteeCode is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - outfile.write(' GuaranteeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeCode), input_name='GuaranteeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType601', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - value = find_attr_value_('GuaranteeCode', node) - if value is not None and 'GuaranteeCode' not in already_processed: - already_processed.add('GuaranteeCode') - self.GuaranteeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType602.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType615.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' -# end class GuaranteePaymentType601 - - -class AcceptedPaymentsType602(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType602) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType602.subclass: - return AcceptedPaymentsType602.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType602(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def has__content(self): - if ( - self.AcceptedPayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType602', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType602') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType602': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType602') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType602', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType602'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType602', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayment is not None: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - self.AcceptedPayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType603.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment = obj_ - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType602 - - -class AcceptedPaymentType603(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteeTypeCode = _cast(None, GuaranteeTypeCode) - self.GuaranteeTypeCode_nsprefix_ = None - self.GuaranteeID = _cast(None, GuaranteeID) - self.GuaranteeID_nsprefix_ = None - self.PaymentTransactionTypeCode = _cast(None, PaymentTransactionTypeCode) - self.PaymentTransactionTypeCode_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Voucher = Voucher - self.Voucher_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType603) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType603.subclass: - return AcceptedPaymentType603.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType603(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Voucher(self): - return self.Voucher - def set_Voucher(self, Voucher): - self.Voucher = Voucher - def get_GuaranteeTypeCode(self): - return self.GuaranteeTypeCode - def set_GuaranteeTypeCode(self, GuaranteeTypeCode): - self.GuaranteeTypeCode = GuaranteeTypeCode - def get_GuaranteeID(self): - return self.GuaranteeID - def set_GuaranteeID(self, GuaranteeID): - self.GuaranteeID = GuaranteeID - def get_PaymentTransactionTypeCode(self): - return self.PaymentTransactionTypeCode - def set_PaymentTransactionTypeCode(self, PaymentTransactionTypeCode): - self.PaymentTransactionTypeCode = PaymentTransactionTypeCode - def has__content(self): - if ( - self.PaymentCard is not None or - self.BankAcct is not None or - self.Voucher is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType603', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType603') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType603': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType603') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType603', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType603'): - if self.GuaranteeTypeCode is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - outfile.write(' GuaranteeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeTypeCode), input_name='GuaranteeTypeCode')), )) - if self.GuaranteeID is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - outfile.write(' GuaranteeID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.GuaranteeID), input_name='GuaranteeID')), )) - if self.PaymentTransactionTypeCode is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - outfile.write(' PaymentTransactionTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PaymentTransactionTypeCode), input_name='PaymentTransactionTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType603', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Voucher is not None: - namespaceprefix_ = self.Voucher_nsprefix_ + ':' if (UseCapturedNS_ and self.Voucher_nsprefix_) else '' - self.Voucher.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Voucher', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('GuaranteeTypeCode', node) - if value is not None and 'GuaranteeTypeCode' not in already_processed: - already_processed.add('GuaranteeTypeCode') - self.GuaranteeTypeCode = value - value = find_attr_value_('GuaranteeID', node) - if value is not None and 'GuaranteeID' not in already_processed: - already_processed.add('GuaranteeID') - self.GuaranteeID = value - value = find_attr_value_('PaymentTransactionTypeCode', node) - if value is not None and 'PaymentTransactionTypeCode' not in already_processed: - already_processed.add('PaymentTransactionTypeCode') - self.PaymentTransactionTypeCode = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PaymentCard': - obj_ = PaymentCardType604.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' - elif nodeName_ == 'BankAcct': - obj_ = BankAcctType610.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Voucher': - obj_ = VoucherType613.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Voucher = obj_ - obj_.original_tagname_ = 'Voucher' -# end class AcceptedPaymentType603 - - -class PaymentCardType604(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.ExpireDate = _cast(None, ExpireDate) - self.ExpireDate_nsprefix_ = None - self.CardHolderName = CardHolderName - self.validate_StringLength1to64(self.CardHolderName) - self.CardHolderName_nsprefix_ = None - self.CardNumber = CardNumber - self.CardNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType604) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType604.subclass: - return PaymentCardType604.subclass(*args_, **kwargs_) - else: - return PaymentCardType604(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardHolderName(self): - return self.CardHolderName - def set_CardHolderName(self, CardHolderName): - self.CardHolderName = CardHolderName - def get_CardNumber(self): - return self.CardNumber - def set_CardNumber(self, CardNumber): - self.CardNumber = CardNumber - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def get_ExpireDate(self): - return self.ExpireDate - def set_ExpireDate(self, ExpireDate): - self.ExpireDate = ExpireDate - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_CardCodeType608(self, value): - # Validate type CardCodeType608, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CardCodeType608_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CardCodeType608_patterns_, )) - validate_CardCodeType608_patterns_ = [['^([A-Z]{1,2})$']] - def validate_ExpireDateType609(self, value): - # Validate type ExpireDateType609, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ExpireDateType609_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ExpireDateType609_patterns_, )) - validate_ExpireDateType609_patterns_ = [['^((0[1-9]|1[0-2])[0-9][0-9])$']] - def has__content(self): - if ( - self.CardHolderName is not None or - self.CardNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType604', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType604') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType604': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType604') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType604', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType604'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - if self.ExpireDate is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - outfile.write(' ExpireDate=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ExpireDate), input_name='ExpireDate')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType604', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardHolderName is not None: - namespaceprefix_ = self.CardHolderName_nsprefix_ + ':' if (UseCapturedNS_ and self.CardHolderName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCardHolderName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CardHolderName), input_name='CardHolderName')), namespaceprefix_ , eol_)) - if self.CardNumber is not None: - namespaceprefix_ = self.CardNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.CardNumber_nsprefix_) else '' - self.CardNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_CardCodeType608(self.CardCode) # validate type CardCodeType608 - value = find_attr_value_('ExpireDate', node) - if value is not None and 'ExpireDate' not in already_processed: - already_processed.add('ExpireDate') - self.ExpireDate = value - self.validate_ExpireDateType609(self.ExpireDate) # validate type ExpireDateType609 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardHolderName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CardHolderName') - value_ = self.gds_validate_string(value_, node, 'CardHolderName') - self.CardHolderName = value_ - self.CardHolderName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CardHolderName) - elif nodeName_ == 'CardNumber': - obj_ = CardNumberType605.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardNumber = obj_ - obj_.original_tagname_ = 'CardNumber' -# end class PaymentCardType604 - - -class CardNumberType605(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, Token=None, TokenProviderID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.Token = _cast(None, Token) - self.Token_nsprefix_ = None - self.TokenProviderID = _cast(None, TokenProviderID) - self.TokenProviderID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardNumberType605) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardNumberType605.subclass: - return CardNumberType605.subclass(*args_, **kwargs_) - else: - return CardNumberType605(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def get_Token(self): - return self.Token - def set_Token(self, Token): - self.Token = Token - def get_TokenProviderID(self): - return self.TokenProviderID - def set_TokenProviderID(self, TokenProviderID): - self.TokenProviderID = TokenProviderID - def validate_MaskType606(self, value): - # Validate type MaskType606, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType606_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType606_patterns_, )) - validate_MaskType606_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_TokenType607(self, value): - # Validate type TokenType607, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_TokenType607_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TokenType607_patterns_, )) - validate_TokenType607_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType605', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardNumberType605') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardNumberType605': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardNumberType605') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CardNumberType605', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardNumberType605'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - if self.Token is not None and 'Token' not in already_processed: - already_processed.add('Token') - outfile.write(' Token=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Token), input_name='Token')), )) - if self.TokenProviderID is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - outfile.write(' TokenProviderID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TokenProviderID), input_name='TokenProviderID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardNumberType605', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType606(self.Mask) # validate type MaskType606 - value = find_attr_value_('Token', node) - if value is not None and 'Token' not in already_processed: - already_processed.add('Token') - self.Token = value - self.validate_TokenType607(self.Token) # validate type TokenType607 - value = find_attr_value_('TokenProviderID', node) - if value is not None and 'TokenProviderID' not in already_processed: - already_processed.add('TokenProviderID') - self.TokenProviderID = value - self.validate_def_nonempty_string(self.TokenProviderID) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardNumberType605 - - -class BankAcctType610(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.validate_StringLength1to64(self.BankAcctName) - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType610) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType610.subclass: - return BankAcctType610.subclass(*args_, **kwargs_) - else: - return BankAcctType610(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType610', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType610') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType610': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType610') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType610', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType610'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType610', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sBankAcctName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BankAcctName), input_name='BankAcctName')), namespaceprefix_ , eol_)) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'BankAcctName') - value_ = self.gds_validate_string(value_, node, 'BankAcctName') - self.BankAcctName = value_ - self.BankAcctName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.BankAcctName) - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType611.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' -# end class BankAcctType610 - - -class BankAcctNumberType611(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mask=None, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mask = _cast(None, Mask) - self.Mask_nsprefix_ = None - self.PlainText = PlainText - self.validate_NumericStringLength1to19(self.PlainText) - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType611) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType611.subclass: - return BankAcctNumberType611.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType611(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def get_Mask(self): - return self.Mask - def set_Mask(self, Mask): - self.Mask = Mask - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def validate_MaskType612(self, value): - # Validate type MaskType612, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaskType612_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaskType612_patterns_, )) - validate_MaskType612_patterns_ = [['^([0-9a-zA-Z]{1,32})$']] - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType611', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType611') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType611': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType611') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType611', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType611'): - if self.Mask is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - outfile.write(' Mask=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Mask), input_name='Mask')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType611', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPlainText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PlainText), input_name='PlainText')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mask', node) - if value is not None and 'Mask' not in already_processed: - already_processed.add('Mask') - self.Mask = value - self.validate_MaskType612(self.Mask) # validate type MaskType612 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PlainText') - value_ = self.gds_validate_string(value_, node, 'PlainText') - self.PlainText = value_ - self.PlainText_nsprefix_ = child_.prefix - # validate type NumericStringLength1to19 - self.validate_NumericStringLength1to19(self.PlainText) -# end class BankAcctNumberType611 - - -class VoucherType613(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ElectronicIndicator=None, Identifier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ElectronicIndicator = _cast(bool, ElectronicIndicator) - self.ElectronicIndicator_nsprefix_ = None - self.Identifier = _cast(None, Identifier) - self.Identifier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VoucherType613) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VoucherType613.subclass: - return VoucherType613.subclass(*args_, **kwargs_) - else: - return VoucherType613(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ElectronicIndicator(self): - return self.ElectronicIndicator - def set_ElectronicIndicator(self, ElectronicIndicator): - self.ElectronicIndicator = ElectronicIndicator - def get_Identifier(self): - return self.Identifier - def set_Identifier(self, Identifier): - self.Identifier = Identifier - def validate_ElectronicIndicatorType614(self, value): - # Validate type ElectronicIndicatorType614, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_ElectronicIndicatorType614_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ElectronicIndicatorType614_patterns_, )) - validate_ElectronicIndicatorType614_patterns_ = [['^(1|true)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType613', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VoucherType613') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VoucherType613': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VoucherType613') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VoucherType613', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VoucherType613'): - if self.ElectronicIndicator is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - outfile.write(' ElectronicIndicator="%s"' % self.gds_format_boolean(self.ElectronicIndicator, input_name='ElectronicIndicator')) - if self.Identifier is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - outfile.write(' Identifier=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Identifier), input_name='Identifier')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VoucherType613', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ElectronicIndicator', node) - if value is not None and 'ElectronicIndicator' not in already_processed: - already_processed.add('ElectronicIndicator') - if value in ('true', '1'): - self.ElectronicIndicator = True - elif value in ('false', '0'): - self.ElectronicIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_ElectronicIndicatorType614(self.ElectronicIndicator) # validate type ElectronicIndicatorType614 - value = find_attr_value_('Identifier', node) - if value is not None and 'Identifier' not in already_processed: - already_processed.add('Identifier') - self.Identifier = value - self.validate_StringLength1to64(self.Identifier) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class VoucherType613 - - -class AmountPercentType615(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType615) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType615.subclass: - return AmountPercentType615.subclass(*args_, **kwargs_) - else: - return AmountPercentType615(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType615', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType615') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType615': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType615') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType615', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType615'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType615', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_gt0(self.Amount) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType615 - - -class CancelPenaltiesType616(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltiesType616) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltiesType616.subclass: - return CancelPenaltiesType616.subclass(*args_, **kwargs_) - else: - return CancelPenaltiesType616(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType616', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltiesType616') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltiesType616': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltiesType616') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltiesType616', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltiesType616'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltiesType616', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType617.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPenaltiesType616 - - -class CancelPenaltyType617(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType617) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType617.subclass: - return CancelPenaltyType617.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType617(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType617', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType617') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType617': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType617') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType617', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType617'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType617', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType618.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType617 - - -class PenaltyDescriptionType618(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Text = Text - self.validate_def_nonempty_string(self.Text) - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType618) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType618.subclass: - return PenaltyDescriptionType618.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType618(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.Text is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType618', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType618') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType618': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType618') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType618', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType618'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType618', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Text is not None: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sText>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Text), input_name='Text')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Text') - value_ = self.gds_validate_string(value_, node, 'Text') - self.Text = value_ - self.Text_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Text) -# end class PenaltyDescriptionType618 - - -class HotelReservationIDsType619(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelReservationID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if HotelReservationID is None: - self.HotelReservationID = [] - else: - self.HotelReservationID = HotelReservationID - self.HotelReservationID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDsType619) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDsType619.subclass: - return HotelReservationIDsType619.subclass(*args_, **kwargs_) - else: - return HotelReservationIDsType619(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelReservationID(self): - return self.HotelReservationID - def set_HotelReservationID(self, HotelReservationID): - self.HotelReservationID = HotelReservationID - def add_HotelReservationID(self, value): - self.HotelReservationID.append(value) - def insert_HotelReservationID_at(self, index, value): - self.HotelReservationID.insert(index, value) - def replace_HotelReservationID_at(self, index, value): - self.HotelReservationID[index] = value - def has__content(self): - if ( - self.HotelReservationID - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType619', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDsType619') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDsType619': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDsType619') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDsType619', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDsType619'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelReservationIDsType619', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for HotelReservationID_ in self.HotelReservationID: - namespaceprefix_ = self.HotelReservationID_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelReservationID_nsprefix_) else '' - HotelReservationID_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelReservationID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelReservationID': - obj_ = HotelReservationIDType620.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelReservationID.append(obj_) - obj_.original_tagname_ = 'HotelReservationID' -# end class HotelReservationIDsType619 - - -class HotelReservationIDType620(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ResID_Type = _cast(int, ResID_Type) - self.ResID_Type_nsprefix_ = None - self.ResID_Value = _cast(None, ResID_Value) - self.ResID_Value_nsprefix_ = None - self.ResID_Source = _cast(None, ResID_Source) - self.ResID_Source_nsprefix_ = None - self.ResID_SourceContext = _cast(None, ResID_SourceContext) - self.ResID_SourceContext_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelReservationIDType620) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelReservationIDType620.subclass: - return HotelReservationIDType620.subclass(*args_, **kwargs_) - else: - return HotelReservationIDType620(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ResID_Type(self): - return self.ResID_Type - def set_ResID_Type(self, ResID_Type): - self.ResID_Type = ResID_Type - def get_ResID_Value(self): - return self.ResID_Value - def set_ResID_Value(self, ResID_Value): - self.ResID_Value = ResID_Value - def get_ResID_Source(self): - return self.ResID_Source - def set_ResID_Source(self, ResID_Source): - self.ResID_Source = ResID_Source - def get_ResID_SourceContext(self): - return self.ResID_SourceContext - def set_ResID_SourceContext(self, ResID_SourceContext): - self.ResID_SourceContext = ResID_SourceContext - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType620', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelReservationIDType620') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelReservationIDType620': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelReservationIDType620') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelReservationIDType620', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelReservationIDType620'): - if self.ResID_Type is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - outfile.write(' ResID_Type="%s"' % self.gds_format_integer(self.ResID_Type, input_name='ResID_Type')) - if self.ResID_Value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - outfile.write(' ResID_Value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Value), input_name='ResID_Value')), )) - if self.ResID_Source is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - outfile.write(' ResID_Source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_Source), input_name='ResID_Source')), )) - if self.ResID_SourceContext is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - outfile.write(' ResID_SourceContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ResID_SourceContext), input_name='ResID_SourceContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelReservationIDType620', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ResID_Type', node) - if value is not None and 'ResID_Type' not in already_processed: - already_processed.add('ResID_Type') - self.ResID_Type = self.gds_parse_integer(value, node, 'ResID_Type') - if self.ResID_Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ResID_Type) # validate type def_int_gt0 - value = find_attr_value_('ResID_Value', node) - if value is not None and 'ResID_Value' not in already_processed: - already_processed.add('ResID_Value') - self.ResID_Value = value - self.validate_StringLength1to64(self.ResID_Value) # validate type StringLength1to64 - value = find_attr_value_('ResID_Source', node) - if value is not None and 'ResID_Source' not in already_processed: - already_processed.add('ResID_Source') - self.ResID_Source = value - self.validate_StringLength1to64(self.ResID_Source) # validate type StringLength1to64 - value = find_attr_value_('ResID_SourceContext', node) - if value is not None and 'ResID_SourceContext' not in already_processed: - already_processed.add('ResID_SourceContext') - self.ResID_SourceContext = value - self.validate_StringLength1to64(self.ResID_SourceContext) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelReservationIDType620 - - -class ProfilesType621(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileInfo = ProfileInfo - self.ProfileInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfilesType621) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfilesType621.subclass: - return ProfilesType621.subclass(*args_, **kwargs_) - else: - return ProfilesType621(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ProfileInfo(self): - return self.ProfileInfo - def set_ProfileInfo(self, ProfileInfo): - self.ProfileInfo = ProfileInfo - def has__content(self): - if ( - self.ProfileInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType621', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfilesType621') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfilesType621': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfilesType621') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfilesType621', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfilesType621'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfilesType621', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ProfileInfo is not None: - namespaceprefix_ = self.ProfileInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ProfileInfo_nsprefix_) else '' - self.ProfileInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ProfileInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ProfileInfo': - obj_ = ProfileInfoType622.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ProfileInfo = obj_ - obj_.original_tagname_ = 'ProfileInfo' -# end class ProfilesType621 - - -class ProfileInfoType622(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Profile=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Profile = Profile - self.Profile_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileInfoType622) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileInfoType622.subclass: - return ProfileInfoType622.subclass(*args_, **kwargs_) - else: - return ProfileInfoType622(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Profile(self): - return self.Profile - def set_Profile(self, Profile): - self.Profile = Profile - def has__content(self): - if ( - self.Profile is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType622', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileInfoType622') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileInfoType622': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileInfoType622') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileInfoType622', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileInfoType622'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileInfoType622', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Profile is not None: - namespaceprefix_ = self.Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.Profile_nsprefix_) else '' - self.Profile.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Profile', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Profile': - obj_ = ProfileType623.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Profile = obj_ - obj_.original_tagname_ = 'Profile' -# end class ProfileInfoType622 - - -class ProfileType623(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ProfileType=None, CompanyInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ProfileType = _cast(None, ProfileType) - self.ProfileType_nsprefix_ = None - self.CompanyInfo = CompanyInfo - self.CompanyInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ProfileType623) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ProfileType623.subclass: - return ProfileType623.subclass(*args_, **kwargs_) - else: - return ProfileType623(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyInfo(self): - return self.CompanyInfo - def set_CompanyInfo(self, CompanyInfo): - self.CompanyInfo = CompanyInfo - def get_ProfileType(self): - return self.ProfileType - def set_ProfileType(self, ProfileType): - self.ProfileType = ProfileType - def validate_ProfileTypeType632(self, value): - # Validate type ProfileTypeType632, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['4'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ProfileTypeType632' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CompanyInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType623', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ProfileType623') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ProfileType623': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ProfileType623') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ProfileType623', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ProfileType623'): - if self.ProfileType is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - outfile.write(' ProfileType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ProfileType), input_name='ProfileType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ProfileType623', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyInfo is not None: - namespaceprefix_ = self.CompanyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyInfo_nsprefix_) else '' - self.CompanyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ProfileType', node) - if value is not None and 'ProfileType' not in already_processed: - already_processed.add('ProfileType') - self.ProfileType = value - self.validate_ProfileTypeType632(self.ProfileType) # validate type ProfileTypeType632 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyInfo': - obj_ = CompanyInfoType624.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyInfo = obj_ - obj_.original_tagname_ = 'CompanyInfo' -# end class ProfileType623 - - -class CompanyInfoType624(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - self.AddressInfo = AddressInfo - self.AddressInfo_nsprefix_ = None - self.TelephoneInfo = TelephoneInfo - self.TelephoneInfo_nsprefix_ = None - self.Email = Email - self.validate_def_nonempty_string(self.Email) - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyInfoType624) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyInfoType624.subclass: - return CompanyInfoType624.subclass(*args_, **kwargs_) - else: - return CompanyInfoType624(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_AddressInfo(self): - return self.AddressInfo - def set_AddressInfo(self, AddressInfo): - self.AddressInfo = AddressInfo - def get_TelephoneInfo(self): - return self.TelephoneInfo - def set_TelephoneInfo(self, TelephoneInfo): - self.TelephoneInfo = TelephoneInfo - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.CompanyName is not None or - self.AddressInfo is not None or - self.TelephoneInfo is not None or - self.Email is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType624', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyInfoType624') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyInfoType624': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyInfoType624') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CompanyInfoType624', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyInfoType624'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CompanyInfoType624', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - if self.AddressInfo is not None: - namespaceprefix_ = self.AddressInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressInfo_nsprefix_) else '' - self.AddressInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AddressInfo', pretty_print=pretty_print) - if self.TelephoneInfo is not None: - namespaceprefix_ = self.TelephoneInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.TelephoneInfo_nsprefix_) else '' - self.TelephoneInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TelephoneInfo', pretty_print=pretty_print) - if self.Email is not None: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CompanyName': - obj_ = CompanyNameType625.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' - elif nodeName_ == 'AddressInfo': - obj_ = AddressInfoType626.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AddressInfo = obj_ - obj_.original_tagname_ = 'AddressInfo' - elif nodeName_ == 'TelephoneInfo': - obj_ = TelephoneInfoType629.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TelephoneInfo = obj_ - obj_.original_tagname_ = 'TelephoneInfo' - elif nodeName_ == 'Email': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Email') - value_ = self.gds_validate_string(value_, node, 'Email') - self.Email = value_ - self.Email_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.Email) -# end class CompanyInfoType624 - - -class CompanyNameType625(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeContext=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType625) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType625.subclass: - return CompanyNameType625.subclass(*args_, **kwargs_) - else: - return CompanyNameType625(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType625', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType625') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType625': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType625') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType625'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType625', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_def_nonempty_string(self.CodeContext) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType625 - - -class AddressInfoType626(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressInfoType626) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressInfoType626.subclass: - return AddressInfoType626.subclass(*args_, **kwargs_) - else: - return AddressInfoType626(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType626', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressInfoType626') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressInfoType626': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressInfoType626') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressInfoType626', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressInfoType626'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressInfoType626', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'CountryName': - obj_ = CountryNameType627.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressInfoType626 - - -class CountryNameType627(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType627) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType627.subclass: - return CountryNameType627.subclass(*args_, **kwargs_) - else: - return CountryNameType627(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType628(self, value): - # Validate type CodeType628, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType628_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType628_patterns_, )) - validate_CodeType628_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType627', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType627') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType627': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType627') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType627', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType627'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType627', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType628(self.Code) # validate type CodeType628 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType627 - - -class TelephoneInfoType629(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TelephoneInfoType629) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TelephoneInfoType629.subclass: - return TelephoneInfoType629.subclass(*args_, **kwargs_) - else: - return TelephoneInfoType629(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_PhoneTechTypeType630(self, value): - # Validate type PhoneTechTypeType630, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneTechTypeType630_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneTechTypeType630_patterns_, )) - validate_PhoneTechTypeType630_patterns_ = [['^((1|3|5))$']] - def validate_PhoneNumberType631(self, value): - # Validate type PhoneNumberType631, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType631_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType631_patterns_, )) - validate_PhoneNumberType631_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType629', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TelephoneInfoType629') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TelephoneInfoType629': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TelephoneInfoType629') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TelephoneInfoType629', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TelephoneInfoType629'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TelephoneInfoType629', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_PhoneTechTypeType630(self.PhoneTechType) # validate type PhoneTechTypeType630 - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType631(self.PhoneNumber) # validate type PhoneNumberType631 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TelephoneInfoType629 - - -class BasicPropertyInfoType633(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BasicPropertyInfoType633) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BasicPropertyInfoType633.subclass: - return BasicPropertyInfoType633.subclass(*args_, **kwargs_) - else: - return BasicPropertyInfoType633(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType633', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BasicPropertyInfoType633') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BasicPropertyInfoType633': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BasicPropertyInfoType633') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BasicPropertyInfoType633', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BasicPropertyInfoType633'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BasicPropertyInfoType633', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BasicPropertyInfoType633 - - -class HotelDescriptiveContentsType635(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelDescriptiveContent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelDescriptiveContent = HotelDescriptiveContent - self.HotelDescriptiveContent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentsType635) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentsType635.subclass: - return HotelDescriptiveContentsType635.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentsType635(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelDescriptiveContent(self): - return self.HotelDescriptiveContent - def set_HotelDescriptiveContent(self, HotelDescriptiveContent): - self.HotelDescriptiveContent = HotelDescriptiveContent - def has__content(self): - if ( - self.HotelDescriptiveContent is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType635', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentsType635') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentsType635': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentsType635') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentsType635', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentsType635'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentsType635', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelDescriptiveContent is not None: - namespaceprefix_ = self.HotelDescriptiveContent_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelDescriptiveContent_nsprefix_) else '' - self.HotelDescriptiveContent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelDescriptiveContent', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelDescriptiveContent': - obj_ = HotelDescriptiveContentType636.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelDescriptiveContent = obj_ - obj_.original_tagname_ = 'HotelDescriptiveContent' -# end class HotelDescriptiveContentsType635 - - -class HotelDescriptiveContentType636(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCityCode = _cast(None, HotelCityCode) - self.HotelCityCode_nsprefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - self.AreaID = _cast(None, AreaID) - self.AreaID_nsprefix_ = None - self.HotelInfo = HotelInfo - self.HotelInfo_nsprefix_ = None - self.FacilityInfo = FacilityInfo - self.FacilityInfo_nsprefix_ = None - self.Policies = Policies - self.Policies_nsprefix_ = None - self.AffiliationInfo = AffiliationInfo - self.AffiliationInfo_nsprefix_ = None - self.ContactInfos = ContactInfos - self.ContactInfos_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelDescriptiveContentType636) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelDescriptiveContentType636.subclass: - return HotelDescriptiveContentType636.subclass(*args_, **kwargs_) - else: - return HotelDescriptiveContentType636(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelInfo(self): - return self.HotelInfo - def set_HotelInfo(self, HotelInfo): - self.HotelInfo = HotelInfo - def get_FacilityInfo(self): - return self.FacilityInfo - def set_FacilityInfo(self, FacilityInfo): - self.FacilityInfo = FacilityInfo - def get_Policies(self): - return self.Policies - def set_Policies(self, Policies): - self.Policies = Policies - def get_AffiliationInfo(self): - return self.AffiliationInfo - def set_AffiliationInfo(self, AffiliationInfo): - self.AffiliationInfo = AffiliationInfo - def get_ContactInfos(self): - return self.ContactInfos - def set_ContactInfos(self, ContactInfos): - self.ContactInfos = ContactInfos - def get_HotelCityCode(self): - return self.HotelCityCode - def set_HotelCityCode(self, HotelCityCode): - self.HotelCityCode = HotelCityCode - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def get_AreaID(self): - return self.AreaID - def set_AreaID(self, AreaID): - self.AreaID = AreaID - def validate_StringLength1to8(self, value): - # Validate type StringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_NumericStringLength1to8(self, value): - # Validate type NumericStringLength1to8, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to8_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to8_patterns_, )) - validate_NumericStringLength1to8_patterns_ = [['^([0-9]{1,8})$']] - def has__content(self): - if ( - self.HotelInfo is not None or - self.FacilityInfo is not None or - self.Policies is not None or - self.AffiliationInfo is not None or - self.ContactInfos is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType636', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelDescriptiveContentType636') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelDescriptiveContentType636': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelDescriptiveContentType636') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelDescriptiveContentType636', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelDescriptiveContentType636'): - if self.HotelCityCode is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - outfile.write(' HotelCityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCityCode), input_name='HotelCityCode')), )) - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - if self.AreaID is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - outfile.write(' AreaID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AreaID), input_name='AreaID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelDescriptiveContentType636', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelInfo is not None: - namespaceprefix_ = self.HotelInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelInfo_nsprefix_) else '' - self.HotelInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelInfo', pretty_print=pretty_print) - if self.FacilityInfo is not None: - namespaceprefix_ = self.FacilityInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FacilityInfo_nsprefix_) else '' - self.FacilityInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FacilityInfo', pretty_print=pretty_print) - if self.Policies is not None: - namespaceprefix_ = self.Policies_nsprefix_ + ':' if (UseCapturedNS_ and self.Policies_nsprefix_) else '' - self.Policies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policies', pretty_print=pretty_print) - if self.AffiliationInfo is not None: - namespaceprefix_ = self.AffiliationInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.AffiliationInfo_nsprefix_) else '' - self.AffiliationInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AffiliationInfo', pretty_print=pretty_print) - if self.ContactInfos is not None: - namespaceprefix_ = self.ContactInfos_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfos_nsprefix_) else '' - self.ContactInfos.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfos', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCityCode', node) - if value is not None and 'HotelCityCode' not in already_processed: - already_processed.add('HotelCityCode') - self.HotelCityCode = value - self.validate_StringLength1to8(self.HotelCityCode) # validate type StringLength1to8 - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - value = find_attr_value_('AreaID', node) - if value is not None and 'AreaID' not in already_processed: - already_processed.add('AreaID') - self.AreaID = value - self.validate_NumericStringLength1to8(self.AreaID) # validate type NumericStringLength1to8 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelInfo': - obj_ = HotelInfoType637.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelInfo = obj_ - obj_.original_tagname_ = 'HotelInfo' - elif nodeName_ == 'FacilityInfo': - obj_ = FacilityInfoType673.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.FacilityInfo = obj_ - obj_.original_tagname_ = 'FacilityInfo' - elif nodeName_ == 'Policies': - obj_ = PoliciesType694.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policies = obj_ - obj_.original_tagname_ = 'Policies' - elif nodeName_ == 'AffiliationInfo': - obj_ = AffiliationInfoType744.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AffiliationInfo = obj_ - obj_.original_tagname_ = 'AffiliationInfo' - elif nodeName_ == 'ContactInfos': - obj_ = ContactInfosType747.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfos = obj_ - obj_.original_tagname_ = 'ContactInfos' -# end class HotelDescriptiveContentType636 - - -class HotelInfoType637(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelStatusCode = _cast(int, HotelStatusCode) - self.HotelStatusCode_nsprefix_ = None - self.CategoryCodes = CategoryCodes - self.CategoryCodes_nsprefix_ = None - self.Descriptions = Descriptions - self.Descriptions_nsprefix_ = None - self.Position = Position - self.Position_nsprefix_ = None - self.Services = Services - self.Services_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelInfoType637) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelInfoType637.subclass: - return HotelInfoType637.subclass(*args_, **kwargs_) - else: - return HotelInfoType637(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CategoryCodes(self): - return self.CategoryCodes - def set_CategoryCodes(self, CategoryCodes): - self.CategoryCodes = CategoryCodes - def get_Descriptions(self): - return self.Descriptions - def set_Descriptions(self, Descriptions): - self.Descriptions = Descriptions - def get_Position(self): - return self.Position - def set_Position(self, Position): - self.Position = Position - def get_Services(self): - return self.Services - def set_Services(self, Services): - self.Services = Services - def get_HotelStatusCode(self): - return self.HotelStatusCode - def set_HotelStatusCode(self, HotelStatusCode): - self.HotelStatusCode = HotelStatusCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.CategoryCodes is not None or - self.Descriptions is not None or - self.Position is not None or - self.Services is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType637', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelInfoType637') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelInfoType637': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelInfoType637') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelInfoType637', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelInfoType637'): - if self.HotelStatusCode is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - outfile.write(' HotelStatusCode="%s"' % self.gds_format_integer(self.HotelStatusCode, input_name='HotelStatusCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='HotelInfoType637', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CategoryCodes is not None: - namespaceprefix_ = self.CategoryCodes_nsprefix_ + ':' if (UseCapturedNS_ and self.CategoryCodes_nsprefix_) else '' - self.CategoryCodes.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CategoryCodes', pretty_print=pretty_print) - if self.Descriptions is not None: - namespaceprefix_ = self.Descriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.Descriptions_nsprefix_) else '' - self.Descriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Descriptions', pretty_print=pretty_print) - if self.Position is not None: - namespaceprefix_ = self.Position_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_nsprefix_) else '' - self.Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position', pretty_print=pretty_print) - if self.Services is not None: - namespaceprefix_ = self.Services_nsprefix_ + ':' if (UseCapturedNS_ and self.Services_nsprefix_) else '' - self.Services.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Services', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelStatusCode', node) - if value is not None and 'HotelStatusCode' not in already_processed: - already_processed.add('HotelStatusCode') - self.HotelStatusCode = self.gds_parse_integer(value, node, 'HotelStatusCode') - if self.HotelStatusCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.HotelStatusCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CategoryCodes': - obj_ = CategoryCodesType638.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CategoryCodes = obj_ - obj_.original_tagname_ = 'CategoryCodes' - elif nodeName_ == 'Descriptions': - obj_ = DescriptionsType640.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Descriptions = obj_ - obj_.original_tagname_ = 'Descriptions' - elif nodeName_ == 'Position': - obj_ = PositionType666.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Position = obj_ - obj_.original_tagname_ = 'Position' - elif nodeName_ == 'Services': - obj_ = ServicesType668.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Services = obj_ - obj_.original_tagname_ = 'Services' -# end class HotelInfoType637 - - -class CategoryCodesType638(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCategory=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCategory = HotelCategory - self.HotelCategory_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CategoryCodesType638) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CategoryCodesType638.subclass: - return CategoryCodesType638.subclass(*args_, **kwargs_) - else: - return CategoryCodesType638(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_HotelCategory(self): - return self.HotelCategory - def set_HotelCategory(self, HotelCategory): - self.HotelCategory = HotelCategory - def has__content(self): - if ( - self.HotelCategory is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType638', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CategoryCodesType638') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CategoryCodesType638': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CategoryCodesType638') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CategoryCodesType638', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CategoryCodesType638'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CategoryCodesType638', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.HotelCategory is not None: - namespaceprefix_ = self.HotelCategory_nsprefix_ + ':' if (UseCapturedNS_ and self.HotelCategory_nsprefix_) else '' - self.HotelCategory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HotelCategory', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'HotelCategory': - obj_ = HotelCategoryType639.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.HotelCategory = obj_ - obj_.original_tagname_ = 'HotelCategory' -# end class CategoryCodesType638 - - -class HotelCategoryType639(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, CodeDetail=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.CodeDetail = _cast(None, CodeDetail) - self.CodeDetail_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, HotelCategoryType639) - if subclass is not None: - return subclass(*args_, **kwargs_) - if HotelCategoryType639.subclass: - return HotelCategoryType639.subclass(*args_, **kwargs_) - else: - return HotelCategoryType639(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_CodeDetail(self): - return self.CodeDetail - def set_CodeDetail(self, CodeDetail): - self.CodeDetail = CodeDetail - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType639', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('HotelCategoryType639') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'HotelCategoryType639': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HotelCategoryType639') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HotelCategoryType639', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HotelCategoryType639'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.CodeDetail is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - outfile.write(' CodeDetail=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeDetail), input_name='CodeDetail')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='HotelCategoryType639', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_nonempty_string(self.Code) # validate type def_nonempty_string - value = find_attr_value_('CodeDetail', node) - if value is not None and 'CodeDetail' not in already_processed: - already_processed.add('CodeDetail') - self.CodeDetail = value - self.validate_StringLength1to128(self.CodeDetail) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class HotelCategoryType639 - - -class DescriptionsType640(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionsType640) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionsType640.subclass: - return DescriptionsType640.subclass(*args_, **kwargs_) - else: - return DescriptionsType640(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def has__content(self): - if ( - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType640', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionsType640') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionsType640': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionsType640') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionsType640', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionsType640'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionsType640', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType641.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class DescriptionsType640 - - -class MultimediaDescriptionsType641(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType641) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType641.subclass: - return MultimediaDescriptionsType641.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType641(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType641', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType641') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType641': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType641') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType641', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType641'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType641', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType642.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType641 - - -class MultimediaDescriptionType642(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - self.VideoItems = VideoItems - self.VideoItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType642) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType642.subclass: - return MultimediaDescriptionType642.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType642(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_VideoItems(self): - return self.VideoItems - def set_VideoItems(self, VideoItems): - self.VideoItems = VideoItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType665(self, value): - # Validate type InfoCodeType665, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 17, 23, 24] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType665' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType665_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType665_patterns_, )) - validate_InfoCodeType665_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None or - self.VideoItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType642', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType642') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType642': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType642') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType642', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType642'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType642', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - if self.VideoItems is not None: - namespaceprefix_ = self.VideoItems_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItems_nsprefix_) else '' - self.VideoItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType665(self.InfoCode) # validate type InfoCodeType665 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType643.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType648.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' - elif nodeName_ == 'VideoItems': - obj_ = VideoItemsType657.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItems = obj_ - obj_.original_tagname_ = 'VideoItems' -# end class MultimediaDescriptionType642 - - -class TextItemsType643(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if TextItem is None: - self.TextItem = [] - else: - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType643) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType643.subclass: - return TextItemsType643.subclass(*args_, **kwargs_) - else: - return TextItemsType643(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def add_TextItem(self, value): - self.TextItem.append(value) - def insert_TextItem_at(self, index, value): - self.TextItem.insert(index, value) - def replace_TextItem_at(self, index, value): - self.TextItem[index] = value - def has__content(self): - if ( - self.TextItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType643', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType643') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType643': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType643') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType643', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType643'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType643', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for TextItem_ in self.TextItem: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - TextItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType644.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem.append(obj_) - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType643 - - -class TextItemType644(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType644) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType644.subclass: - return TextItemType644.subclass(*args_, **kwargs_) - else: - return TextItemType644(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType644', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType644') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType644': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType644') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType644', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType644'): - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType644', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType645.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType644 - - -class DescriptionType645(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType645) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType645.subclass: - return DescriptionType645.subclass(*args_, **kwargs_) - else: - return DescriptionType645(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType646(self, value): - # Validate type TextFormatType646, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType646' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType647(self, value): - # Validate type LanguageType647, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType647_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType647_patterns_, )) - validate_LanguageType647_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType645', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType645') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType645': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType645') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType645'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType645', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType646(self.TextFormat) # validate type TextFormatType646 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType647(self.Language) # validate type LanguageType647 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType645 - - -class ImageItemsType648(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType648) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType648.subclass: - return ImageItemsType648.subclass(*args_, **kwargs_) - else: - return ImageItemsType648(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType648', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType648') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType648': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType648') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType648', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType648'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType648', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType649.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType648 - - -class ImageItemType649(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType649) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType649.subclass: - return ImageItemType649.subclass(*args_, **kwargs_) - else: - return ImageItemType649(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType656(self, value): - # Validate type CategoryType656, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 15, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType656' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType656_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType656_patterns_, )) - validate_CategoryType656_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType649', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType649') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType649': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType649') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType649', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType649'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType649', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType656(self.Category) # validate type CategoryType656 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType650.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType653.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType649 - - -class ImageFormatType650(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.ApplicableEnd = _cast(None, ApplicableEnd) - self.ApplicableEnd_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType650) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType650.subclass: - return ImageFormatType650.subclass(*args_, **kwargs_) - else: - return ImageFormatType650(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def get_ApplicableEnd(self): - return self.ApplicableEnd - def set_ApplicableEnd(self, ApplicableEnd): - self.ApplicableEnd = ApplicableEnd - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType651(self, value): - # Validate type ApplicableStartType651, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType651_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType651_patterns_, )) - validate_ApplicableStartType651_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def validate_ApplicableEndType652(self, value): - # Validate type ApplicableEndType652, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableEndType652_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableEndType652_patterns_, )) - validate_ApplicableEndType652_patterns_ = [['^(--[0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType650', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType650') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType650': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType650') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType650', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType650'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - if self.ApplicableEnd is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - outfile.write(' ApplicableEnd=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableEnd), input_name='ApplicableEnd')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType650', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType651(self.ApplicableStart) # validate type ApplicableStartType651 - value = find_attr_value_('ApplicableEnd', node) - if value is not None and 'ApplicableEnd' not in already_processed: - already_processed.add('ApplicableEnd') - self.ApplicableEnd = value - self.validate_ApplicableEndType652(self.ApplicableEnd) # validate type ApplicableEndType652 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType650 - - -class DescriptionType653(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType653) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType653.subclass: - return DescriptionType653.subclass(*args_, **kwargs_) - else: - return DescriptionType653(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType654(self, value): - # Validate type TextFormatType654, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType654' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType655(self, value): - # Validate type LanguageType655, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType655_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType655_patterns_, )) - validate_LanguageType655_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType653', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType653') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType653': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType653') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType653'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType653', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType654(self.TextFormat) # validate type TextFormatType654 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType655(self.Language) # validate type LanguageType655 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType653 - - -class VideoItemsType657(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, VideoItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if VideoItem is None: - self.VideoItem = [] - else: - self.VideoItem = VideoItem - self.VideoItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemsType657) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemsType657.subclass: - return VideoItemsType657.subclass(*args_, **kwargs_) - else: - return VideoItemsType657(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoItem(self): - return self.VideoItem - def set_VideoItem(self, VideoItem): - self.VideoItem = VideoItem - def add_VideoItem(self, value): - self.VideoItem.append(value) - def insert_VideoItem_at(self, index, value): - self.VideoItem.insert(index, value) - def replace_VideoItem_at(self, index, value): - self.VideoItem[index] = value - def has__content(self): - if ( - self.VideoItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType657', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemsType657') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemsType657': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemsType657') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemsType657', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemsType657'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemsType657', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for VideoItem_ in self.VideoItem: - namespaceprefix_ = self.VideoItem_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoItem_nsprefix_) else '' - VideoItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoItem': - obj_ = VideoItemType658.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoItem.append(obj_) - obj_.original_tagname_ = 'VideoItem' -# end class VideoItemsType657 - - -class VideoItemType658(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, VideoFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.VideoFormat = VideoFormat - self.VideoFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoItemType658) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoItemType658.subclass: - return VideoItemType658.subclass(*args_, **kwargs_) - else: - return VideoItemType658(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_VideoFormat(self): - return self.VideoFormat - def set_VideoFormat(self, VideoFormat): - self.VideoFormat = VideoFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_CategoryType664(self, value): - # Validate type CategoryType664, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 2, 4, 12, 20, 22] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CategoryType664' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_CategoryType664_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CategoryType664_patterns_, )) - validate_CategoryType664_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.VideoFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType658', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoItemType658') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoItemType658': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoItemType658') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoItemType658', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoItemType658'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category=%s' % (quote_attrib(self.Category), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoItemType658', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.VideoFormat is not None: - namespaceprefix_ = self.VideoFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.VideoFormat_nsprefix_) else '' - self.VideoFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VideoFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_CategoryType664(self.Category) # validate type CategoryType664 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'VideoFormat': - obj_ = VideoFormatType659.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.VideoFormat = obj_ - obj_.original_tagname_ = 'VideoFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType661.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class VideoItemType658 - - -class VideoFormatType659(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.SourceID = _cast(None, SourceID) - self.SourceID_nsprefix_ = None - self.Title = _cast(None, Title) - self.Title_nsprefix_ = None - self.ApplicableStart = _cast(None, ApplicableStart) - self.ApplicableStart_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, VideoFormatType659) - if subclass is not None: - return subclass(*args_, **kwargs_) - if VideoFormatType659.subclass: - return VideoFormatType659.subclass(*args_, **kwargs_) - else: - return VideoFormatType659(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def get_SourceID(self): - return self.SourceID - def set_SourceID(self, SourceID): - self.SourceID = SourceID - def get_Title(self): - return self.Title - def set_Title(self, Title): - self.Title = Title - def get_ApplicableStart(self): - return self.ApplicableStart - def set_ApplicableStart(self, ApplicableStart): - self.ApplicableStart = ApplicableStart - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to32(self, value): - # Validate type StringLength1to32, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 32: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to32' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ApplicableStartType660(self, value): - # Validate type ApplicableStartType660, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_ApplicableStartType660_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ApplicableStartType660_patterns_, )) - validate_ApplicableStartType660_patterns_ = [['^([0-1][0-9]-[0-3][0-9])$']] - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType659', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('VideoFormatType659') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'VideoFormatType659': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VideoFormatType659') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VideoFormatType659', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VideoFormatType659'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - if self.SourceID is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - outfile.write(' SourceID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.SourceID), input_name='SourceID')), )) - if self.Title is not None and 'Title' not in already_processed: - already_processed.add('Title') - outfile.write(' Title=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Title), input_name='Title')), )) - if self.ApplicableStart is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - outfile.write(' ApplicableStart=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ApplicableStart), input_name='ApplicableStart')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='VideoFormatType659', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - value = find_attr_value_('SourceID', node) - if value is not None and 'SourceID' not in already_processed: - already_processed.add('SourceID') - self.SourceID = value - self.validate_StringLength1to32(self.SourceID) # validate type StringLength1to32 - value = find_attr_value_('Title', node) - if value is not None and 'Title' not in already_processed: - already_processed.add('Title') - self.Title = value - self.validate_StringLength1to64(self.Title) # validate type StringLength1to64 - value = find_attr_value_('ApplicableStart', node) - if value is not None and 'ApplicableStart' not in already_processed: - already_processed.add('ApplicableStart') - self.ApplicableStart = value - self.validate_ApplicableStartType660(self.ApplicableStart) # validate type ApplicableStartType660 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class VideoFormatType659 - - -class DescriptionType661(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType661) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType661.subclass: - return DescriptionType661.subclass(*args_, **kwargs_) - else: - return DescriptionType661(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType662(self, value): - # Validate type TextFormatType662, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType662' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType663(self, value): - # Validate type LanguageType663, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType663_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType663_patterns_, )) - validate_LanguageType663_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType661', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType661') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType661': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType661') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType661'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType661', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType662(self.TextFormat) # validate type TextFormatType662 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType663(self.Language) # validate type LanguageType663 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType661 - - -class PositionType666(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Altitude = _cast(float, Altitude) - self.Altitude_nsprefix_ = None - self.AltitudeUnitOfMeasureCode = _cast(None, AltitudeUnitOfMeasureCode) - self.AltitudeUnitOfMeasureCode_nsprefix_ = None - self.Latitude = _cast(float, Latitude) - self.Latitude_nsprefix_ = None - self.Longitude = _cast(float, Longitude) - self.Longitude_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PositionType666) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PositionType666.subclass: - return PositionType666.subclass(*args_, **kwargs_) - else: - return PositionType666(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Altitude(self): - return self.Altitude - def set_Altitude(self, Altitude): - self.Altitude = Altitude - def get_AltitudeUnitOfMeasureCode(self): - return self.AltitudeUnitOfMeasureCode - def set_AltitudeUnitOfMeasureCode(self, AltitudeUnitOfMeasureCode): - self.AltitudeUnitOfMeasureCode = AltitudeUnitOfMeasureCode - def get_Latitude(self): - return self.Latitude - def set_Latitude(self, Latitude): - self.Latitude = Latitude - def get_Longitude(self): - return self.Longitude - def set_Longitude(self, Longitude): - self.Longitude = Longitude - def validate_AltitudeUnitOfMeasureCodeType667(self, value): - # Validate type AltitudeUnitOfMeasureCodeType667, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AltitudeUnitOfMeasureCodeType667' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType666', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PositionType666') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PositionType666': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PositionType666') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PositionType666', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PositionType666'): - if self.Altitude is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - outfile.write(' Altitude="%s"' % self.gds_format_decimal(self.Altitude, input_name='Altitude')) - if self.AltitudeUnitOfMeasureCode is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - outfile.write(' AltitudeUnitOfMeasureCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AltitudeUnitOfMeasureCode), input_name='AltitudeUnitOfMeasureCode')), )) - if self.Latitude is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - outfile.write(' Latitude="%s"' % self.gds_format_decimal(self.Latitude, input_name='Latitude')) - if self.Longitude is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - outfile.write(' Longitude="%s"' % self.gds_format_decimal(self.Longitude, input_name='Longitude')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PositionType666', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Altitude', node) - if value is not None and 'Altitude' not in already_processed: - already_processed.add('Altitude') - value = self.gds_parse_decimal(value, node, 'Altitude') - self.Altitude = value - value = find_attr_value_('AltitudeUnitOfMeasureCode', node) - if value is not None and 'AltitudeUnitOfMeasureCode' not in already_processed: - already_processed.add('AltitudeUnitOfMeasureCode') - self.AltitudeUnitOfMeasureCode = value - self.validate_AltitudeUnitOfMeasureCodeType667(self.AltitudeUnitOfMeasureCode) # validate type AltitudeUnitOfMeasureCodeType667 - value = find_attr_value_('Latitude', node) - if value is not None and 'Latitude' not in already_processed: - already_processed.add('Latitude') - value = self.gds_parse_decimal(value, node, 'Latitude') - self.Latitude = value - value = find_attr_value_('Longitude', node) - if value is not None and 'Longitude' not in already_processed: - already_processed.add('Longitude') - value = self.gds_parse_decimal(value, node, 'Longitude') - self.Longitude = value - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PositionType666 - - -class ServicesType668(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Service=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Service is None: - self.Service = [] - else: - self.Service = Service - self.Service_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServicesType668) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServicesType668.subclass: - return ServicesType668.subclass(*args_, **kwargs_) - else: - return ServicesType668(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Service(self): - return self.Service - def set_Service(self, Service): - self.Service = Service - def add_Service(self, value): - self.Service.append(value) - def insert_Service_at(self, index, value): - self.Service.insert(index, value) - def replace_Service_at(self, index, value): - self.Service[index] = value - def has__content(self): - if ( - self.Service - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType668', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServicesType668') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServicesType668': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServicesType668') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServicesType668', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServicesType668'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServicesType668', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Service_ in self.Service: - namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' - Service_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Service', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Service': - obj_ = ServiceType669.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Service.append(obj_) - obj_.original_tagname_ = 'Service' -# end class ServicesType668 - - -class ServiceType669(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MealPlanCode = _cast(None, MealPlanCode) - self.MealPlanCode_nsprefix_ = None - self.ProximityCode = _cast(int, ProximityCode) - self.ProximityCode_nsprefix_ = None - self.Included = _cast(bool, Included) - self.Included_nsprefix_ = None - self.Features = Features - self.Features_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ServiceType669) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ServiceType669.subclass: - return ServiceType669.subclass(*args_, **kwargs_) - else: - return ServiceType669(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Features(self): - return self.Features - def set_Features(self, Features): - self.Features = Features - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MealPlanCode(self): - return self.MealPlanCode - def set_MealPlanCode(self, MealPlanCode): - self.MealPlanCode = MealPlanCode - def get_ProximityCode(self): - return self.ProximityCode - def set_ProximityCode(self, ProximityCode): - self.ProximityCode = ProximityCode - def get_Included(self): - return self.Included - def set_Included(self, Included): - self.Included = Included - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def validate_MealPlanCodeType672(self, value): - # Validate type MealPlanCodeType672, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodeType672' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.Features is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType669', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ServiceType669') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ServiceType669': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ServiceType669') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ServiceType669', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ServiceType669'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MealPlanCode is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - outfile.write(' MealPlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCode), input_name='MealPlanCode')), )) - if self.ProximityCode is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - outfile.write(' ProximityCode="%s"' % self.gds_format_integer(self.ProximityCode, input_name='ProximityCode')) - if self.Included is not None and 'Included' not in already_processed: - already_processed.add('Included') - outfile.write(' Included="%s"' % self.gds_format_boolean(self.Included, input_name='Included')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ServiceType669', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Features is not None: - namespaceprefix_ = self.Features_nsprefix_ + ':' if (UseCapturedNS_ and self.Features_nsprefix_) else '' - self.Features.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Features', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_alpinebits_code(self.Code) # validate type def_alpinebits_code - value = find_attr_value_('MealPlanCode', node) - if value is not None and 'MealPlanCode' not in already_processed: - already_processed.add('MealPlanCode') - self.MealPlanCode = value - self.validate_MealPlanCodeType672(self.MealPlanCode) # validate type MealPlanCodeType672 - value = find_attr_value_('ProximityCode', node) - if value is not None and 'ProximityCode' not in already_processed: - already_processed.add('ProximityCode') - self.ProximityCode = self.gds_parse_integer(value, node, 'ProximityCode') - if self.ProximityCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ProximityCode) # validate type def_int_gt0 - value = find_attr_value_('Included', node) - if value is not None and 'Included' not in already_processed: - already_processed.add('Included') - if value in ('true', '1'): - self.Included = True - elif value in ('false', '0'): - self.Included = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Included) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Features': - obj_ = FeaturesType670.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Features = obj_ - obj_.original_tagname_ = 'Features' -# end class ServiceType669 - - -class FeaturesType670(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Feature=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Feature is None: - self.Feature = [] - else: - self.Feature = Feature - self.Feature_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeaturesType670) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeaturesType670.subclass: - return FeaturesType670.subclass(*args_, **kwargs_) - else: - return FeaturesType670(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Feature(self): - return self.Feature - def set_Feature(self, Feature): - self.Feature = Feature - def add_Feature(self, value): - self.Feature.append(value) - def insert_Feature_at(self, index, value): - self.Feature.insert(index, value) - def replace_Feature_at(self, index, value): - self.Feature[index] = value - def has__content(self): - if ( - self.Feature - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType670', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeaturesType670') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeaturesType670': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeaturesType670') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeaturesType670', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeaturesType670'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FeaturesType670', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Feature_ in self.Feature: - namespaceprefix_ = self.Feature_nsprefix_ + ':' if (UseCapturedNS_ and self.Feature_nsprefix_) else '' - Feature_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Feature', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Feature': - obj_ = FeatureType671.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Feature.append(obj_) - obj_.original_tagname_ = 'Feature' -# end class FeaturesType670 - - -class FeatureType671(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AccessibleCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AccessibleCode = _cast(int, AccessibleCode) - self.AccessibleCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FeatureType671) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FeatureType671.subclass: - return FeatureType671.subclass(*args_, **kwargs_) - else: - return FeatureType671(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AccessibleCode(self): - return self.AccessibleCode - def set_AccessibleCode(self, AccessibleCode): - self.AccessibleCode = AccessibleCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType671', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FeatureType671') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FeatureType671': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FeatureType671') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FeatureType671', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FeatureType671'): - if self.AccessibleCode is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - outfile.write(' AccessibleCode="%s"' % self.gds_format_integer(self.AccessibleCode, input_name='AccessibleCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='FeatureType671', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AccessibleCode', node) - if value is not None and 'AccessibleCode' not in already_processed: - already_processed.add('AccessibleCode') - self.AccessibleCode = self.gds_parse_integer(value, node, 'AccessibleCode') - if self.AccessibleCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AccessibleCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class FeatureType671 - - -class FacilityInfoType673(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRooms=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuestRooms = GuestRooms - self.GuestRooms_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, FacilityInfoType673) - if subclass is not None: - return subclass(*args_, **kwargs_) - if FacilityInfoType673.subclass: - return FacilityInfoType673.subclass(*args_, **kwargs_) - else: - return FacilityInfoType673(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRooms(self): - return self.GuestRooms - def set_GuestRooms(self, GuestRooms): - self.GuestRooms = GuestRooms - def has__content(self): - if ( - self.GuestRooms is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType673', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('FacilityInfoType673') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'FacilityInfoType673': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FacilityInfoType673') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FacilityInfoType673', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='FacilityInfoType673'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='FacilityInfoType673', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuestRooms is not None: - namespaceprefix_ = self.GuestRooms_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRooms_nsprefix_) else '' - self.GuestRooms.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRooms', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRooms': - obj_ = GuestRoomsType674.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRooms = obj_ - obj_.original_tagname_ = 'GuestRooms' -# end class FacilityInfoType673 - - -class GuestRoomsType674(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuestRoom=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if GuestRoom is None: - self.GuestRoom = [] - else: - self.GuestRoom = GuestRoom - self.GuestRoom_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomsType674) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomsType674.subclass: - return GuestRoomsType674.subclass(*args_, **kwargs_) - else: - return GuestRoomsType674(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuestRoom(self): - return self.GuestRoom - def set_GuestRoom(self, GuestRoom): - self.GuestRoom = GuestRoom - def add_GuestRoom(self, value): - self.GuestRoom.append(value) - def insert_GuestRoom_at(self, index, value): - self.GuestRoom.insert(index, value) - def replace_GuestRoom_at(self, index, value): - self.GuestRoom[index] = value - def has__content(self): - if ( - self.GuestRoom - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType674', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomsType674') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomsType674': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomsType674') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomsType674', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomsType674'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomsType674', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for GuestRoom_ in self.GuestRoom: - namespaceprefix_ = self.GuestRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.GuestRoom_nsprefix_) else '' - GuestRoom_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuestRoom', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuestRoom': - obj_ = GuestRoomType675.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuestRoom.append(obj_) - obj_.original_tagname_ = 'GuestRoom' -# end class GuestRoomsType674 - - -class GuestRoomType675(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxChildOccupancy = _cast(int, MaxChildOccupancy) - self.MaxChildOccupancy_nsprefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.TypeRoom = TypeRoom - self.TypeRoom_nsprefix_ = None - self.Amenities = Amenities - self.Amenities_nsprefix_ = None - self.MultimediaDescriptions = MultimediaDescriptions - self.MultimediaDescriptions_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestRoomType675) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestRoomType675.subclass: - return GuestRoomType675.subclass(*args_, **kwargs_) - else: - return GuestRoomType675(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TypeRoom(self): - return self.TypeRoom - def set_TypeRoom(self, TypeRoom): - self.TypeRoom = TypeRoom - def get_Amenities(self): - return self.Amenities - def set_Amenities(self, Amenities): - self.Amenities = Amenities - def get_MultimediaDescriptions(self): - return self.MultimediaDescriptions - def set_MultimediaDescriptions(self, MultimediaDescriptions): - self.MultimediaDescriptions = MultimediaDescriptions - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxChildOccupancy(self): - return self.MaxChildOccupancy - def set_MaxChildOccupancy(self, MaxChildOccupancy): - self.MaxChildOccupancy = MaxChildOccupancy - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TypeRoom is not None or - self.Amenities is not None or - self.MultimediaDescriptions is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType675', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestRoomType675') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestRoomType675': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestRoomType675') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestRoomType675', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestRoomType675'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxChildOccupancy is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - outfile.write(' MaxChildOccupancy="%s"' % self.gds_format_integer(self.MaxChildOccupancy, input_name='MaxChildOccupancy')) - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestRoomType675', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TypeRoom is not None: - namespaceprefix_ = self.TypeRoom_nsprefix_ + ':' if (UseCapturedNS_ and self.TypeRoom_nsprefix_) else '' - self.TypeRoom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TypeRoom', pretty_print=pretty_print) - if self.Amenities is not None: - namespaceprefix_ = self.Amenities_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenities_nsprefix_) else '' - self.Amenities.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenities', pretty_print=pretty_print) - if self.MultimediaDescriptions is not None: - namespaceprefix_ = self.MultimediaDescriptions_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescriptions_nsprefix_) else '' - self.MultimediaDescriptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescriptions', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinOccupancy) # validate type def_int_gt0 - value = find_attr_value_('MaxChildOccupancy', node) - if value is not None and 'MaxChildOccupancy' not in already_processed: - already_processed.add('MaxChildOccupancy') - self.MaxChildOccupancy = self.gds_parse_integer(value, node, 'MaxChildOccupancy') - if self.MaxChildOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxChildOccupancy) # validate type def_int_gt0 - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_invTypeCode_string(self.ID) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TypeRoom': - obj_ = TypeRoomType676.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TypeRoom = obj_ - obj_.original_tagname_ = 'TypeRoom' - elif nodeName_ == 'Amenities': - obj_ = AmenitiesType678.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenities = obj_ - obj_.original_tagname_ = 'Amenities' - elif nodeName_ == 'MultimediaDescriptions': - obj_ = MultimediaDescriptionsType680.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescriptions = obj_ - obj_.original_tagname_ = 'MultimediaDescriptions' -# end class GuestRoomType675 - - -class TypeRoomType676(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StandardOccupancy = _cast(int, StandardOccupancy) - self.StandardOccupancy_nsprefix_ = None - self.RoomClassificationCode = _cast(int, RoomClassificationCode) - self.RoomClassificationCode_nsprefix_ = None - self.RoomID = _cast(None, RoomID) - self.RoomID_nsprefix_ = None - self.Size = _cast(int, Size) - self.Size_nsprefix_ = None - self.RoomType = _cast(None, RoomType) - self.RoomType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TypeRoomType676) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TypeRoomType676.subclass: - return TypeRoomType676.subclass(*args_, **kwargs_) - else: - return TypeRoomType676(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StandardOccupancy(self): - return self.StandardOccupancy - def set_StandardOccupancy(self, StandardOccupancy): - self.StandardOccupancy = StandardOccupancy - def get_RoomClassificationCode(self): - return self.RoomClassificationCode - def set_RoomClassificationCode(self, RoomClassificationCode): - self.RoomClassificationCode = RoomClassificationCode - def get_RoomID(self): - return self.RoomID - def set_RoomID(self, RoomID): - self.RoomID = RoomID - def get_Size(self): - return self.Size - def set_Size(self, Size): - self.Size = Size - def get_RoomType(self): - return self.RoomType - def set_RoomType(self, RoomType): - self.RoomType = RoomType - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RoomTypeType677(self, value): - # Validate type RoomTypeType677, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RoomTypeType677' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType676', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TypeRoomType676') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TypeRoomType676': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TypeRoomType676') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TypeRoomType676', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TypeRoomType676'): - if self.StandardOccupancy is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - outfile.write(' StandardOccupancy="%s"' % self.gds_format_integer(self.StandardOccupancy, input_name='StandardOccupancy')) - if self.RoomClassificationCode is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - outfile.write(' RoomClassificationCode="%s"' % self.gds_format_integer(self.RoomClassificationCode, input_name='RoomClassificationCode')) - if self.RoomID is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - outfile.write(' RoomID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomID), input_name='RoomID')), )) - if self.Size is not None and 'Size' not in already_processed: - already_processed.add('Size') - outfile.write(' Size="%s"' % self.gds_format_integer(self.Size, input_name='Size')) - if self.RoomType is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - outfile.write(' RoomType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomType), input_name='RoomType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TypeRoomType676', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StandardOccupancy', node) - if value is not None and 'StandardOccupancy' not in already_processed: - already_processed.add('StandardOccupancy') - self.StandardOccupancy = self.gds_parse_integer(value, node, 'StandardOccupancy') - if self.StandardOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.StandardOccupancy) # validate type def_int_gt0 - value = find_attr_value_('RoomClassificationCode', node) - if value is not None and 'RoomClassificationCode' not in already_processed: - already_processed.add('RoomClassificationCode') - self.RoomClassificationCode = self.gds_parse_integer(value, node, 'RoomClassificationCode') - if self.RoomClassificationCode < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.RoomClassificationCode) # validate type def_int_ge0 - value = find_attr_value_('RoomID', node) - if value is not None and 'RoomID' not in already_processed: - already_processed.add('RoomID') - self.RoomID = value - self.validate_StringLength1to16(self.RoomID) # validate type StringLength1to16 - value = find_attr_value_('Size', node) - if value is not None and 'Size' not in already_processed: - already_processed.add('Size') - self.Size = self.gds_parse_integer(value, node, 'Size') - if self.Size < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.Size) # validate type def_int_ge0 - value = find_attr_value_('RoomType', node) - if value is not None and 'RoomType' not in already_processed: - already_processed.add('RoomType') - self.RoomType = value - self.validate_RoomTypeType677(self.RoomType) # validate type RoomTypeType677 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TypeRoomType676 - - -class AmenitiesType678(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amenity=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Amenity is None: - self.Amenity = [] - else: - self.Amenity = Amenity - self.Amenity_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenitiesType678) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenitiesType678.subclass: - return AmenitiesType678.subclass(*args_, **kwargs_) - else: - return AmenitiesType678(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amenity(self): - return self.Amenity - def set_Amenity(self, Amenity): - self.Amenity = Amenity - def add_Amenity(self, value): - self.Amenity.append(value) - def insert_Amenity_at(self, index, value): - self.Amenity.insert(index, value) - def replace_Amenity_at(self, index, value): - self.Amenity[index] = value - def has__content(self): - if ( - self.Amenity - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType678', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenitiesType678') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenitiesType678': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenitiesType678') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenitiesType678', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenitiesType678'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AmenitiesType678', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Amenity_ in self.Amenity: - namespaceprefix_ = self.Amenity_nsprefix_ + ':' if (UseCapturedNS_ and self.Amenity_nsprefix_) else '' - Amenity_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Amenity', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Amenity': - obj_ = AmenityType679.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Amenity.append(obj_) - obj_.original_tagname_ = 'Amenity' -# end class AmenitiesType678 - - -class AmenityType679(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, RoomAmenityCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.RoomAmenityCode = _cast(None, RoomAmenityCode) - self.RoomAmenityCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmenityType679) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmenityType679.subclass: - return AmenityType679.subclass(*args_, **kwargs_) - else: - return AmenityType679(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RoomAmenityCode(self): - return self.RoomAmenityCode - def set_RoomAmenityCode(self, RoomAmenityCode): - self.RoomAmenityCode = RoomAmenityCode - def validate_def_alpinebits_code(self, value): - # Validate type def_alpinebits_code, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_alpinebits_code_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_alpinebits_code_patterns_, )) - validate_def_alpinebits_code_patterns_ = [['^([0-9]{1,3}(\\.[A-Z]{3}){0,1})$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType679', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmenityType679') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmenityType679': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmenityType679') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmenityType679', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmenityType679'): - if self.RoomAmenityCode is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - outfile.write(' RoomAmenityCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RoomAmenityCode), input_name='RoomAmenityCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmenityType679', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('RoomAmenityCode', node) - if value is not None and 'RoomAmenityCode' not in already_processed: - already_processed.add('RoomAmenityCode') - self.RoomAmenityCode = value - self.validate_def_alpinebits_code(self.RoomAmenityCode) # validate type def_alpinebits_code - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmenityType679 - - -class MultimediaDescriptionsType680(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MultimediaDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if MultimediaDescription is None: - self.MultimediaDescription = [] - else: - self.MultimediaDescription = MultimediaDescription - self.MultimediaDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionsType680) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionsType680.subclass: - return MultimediaDescriptionsType680.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionsType680(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MultimediaDescription(self): - return self.MultimediaDescription - def set_MultimediaDescription(self, MultimediaDescription): - self.MultimediaDescription = MultimediaDescription - def add_MultimediaDescription(self, value): - self.MultimediaDescription.append(value) - def insert_MultimediaDescription_at(self, index, value): - self.MultimediaDescription.insert(index, value) - def replace_MultimediaDescription_at(self, index, value): - self.MultimediaDescription[index] = value - def has__content(self): - if ( - self.MultimediaDescription - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType680', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionsType680') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionsType680': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionsType680') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionsType680', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionsType680'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionsType680', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for MultimediaDescription_ in self.MultimediaDescription: - namespaceprefix_ = self.MultimediaDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.MultimediaDescription_nsprefix_) else '' - MultimediaDescription_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MultimediaDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'MultimediaDescription': - obj_ = MultimediaDescriptionType681.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MultimediaDescription.append(obj_) - obj_.original_tagname_ = 'MultimediaDescription' -# end class MultimediaDescriptionsType680 - - -class MultimediaDescriptionType681(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InfoCode = _cast(int, InfoCode) - self.InfoCode_nsprefix_ = None - self.TextItems = TextItems - self.TextItems_nsprefix_ = None - self.ImageItems = ImageItems - self.ImageItems_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MultimediaDescriptionType681) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MultimediaDescriptionType681.subclass: - return MultimediaDescriptionType681.subclass(*args_, **kwargs_) - else: - return MultimediaDescriptionType681(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItems(self): - return self.TextItems - def set_TextItems(self, TextItems): - self.TextItems = TextItems - def get_ImageItems(self): - return self.ImageItems - def set_ImageItems(self, ImageItems): - self.ImageItems = ImageItems - def get_InfoCode(self): - return self.InfoCode - def set_InfoCode(self, InfoCode): - self.InfoCode = InfoCode - def validate_InfoCodeType693(self, value): - # Validate type InfoCodeType693, a restriction on def_int_gt0. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = [1, 23, 25] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InfoCodeType693' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_InfoCodeType693_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_InfoCodeType693_patterns_, )) - validate_InfoCodeType693_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.TextItems is not None or - self.ImageItems is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType681', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MultimediaDescriptionType681') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MultimediaDescriptionType681': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MultimediaDescriptionType681') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MultimediaDescriptionType681', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MultimediaDescriptionType681'): - if self.InfoCode is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - outfile.write(' InfoCode=%s' % (quote_attrib(self.InfoCode), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='MultimediaDescriptionType681', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItems is not None: - namespaceprefix_ = self.TextItems_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItems_nsprefix_) else '' - self.TextItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItems', pretty_print=pretty_print) - if self.ImageItems is not None: - namespaceprefix_ = self.ImageItems_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItems_nsprefix_) else '' - self.ImageItems.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItems', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InfoCode', node) - if value is not None and 'InfoCode' not in already_processed: - already_processed.add('InfoCode') - self.InfoCode = self.gds_parse_integer(value, node, 'InfoCode') - if self.InfoCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_InfoCodeType693(self.InfoCode) # validate type InfoCodeType693 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItems': - obj_ = TextItemsType682.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItems = obj_ - obj_.original_tagname_ = 'TextItems' - elif nodeName_ == 'ImageItems': - obj_ = ImageItemsType687.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItems = obj_ - obj_.original_tagname_ = 'ImageItems' -# end class MultimediaDescriptionType681 - - -class TextItemsType682(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextItem = TextItem - self.TextItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemsType682) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemsType682.subclass: - return TextItemsType682.subclass(*args_, **kwargs_) - else: - return TextItemsType682(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextItem(self): - return self.TextItem - def set_TextItem(self, TextItem): - self.TextItem = TextItem - def has__content(self): - if ( - self.TextItem is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType682', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemsType682') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemsType682': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemsType682') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemsType682', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemsType682'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemsType682', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TextItem is not None: - namespaceprefix_ = self.TextItem_nsprefix_ + ':' if (UseCapturedNS_ and self.TextItem_nsprefix_) else '' - self.TextItem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TextItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TextItem': - obj_ = TextItemType683.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TextItem = obj_ - obj_.original_tagname_ = 'TextItem' -# end class TextItemsType682 - - -class TextItemType683(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextItemType683) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextItemType683.subclass: - return TextItemType683.subclass(*args_, **kwargs_) - else: - return TextItemType683(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def has__content(self): - if ( - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType683', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextItemType683') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextItemType683': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextItemType683') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TextItemType683', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextItemType683'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TextItemType683', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType684.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class TextItemType683 - - -class DescriptionType684(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType684) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType684.subclass: - return DescriptionType684.subclass(*args_, **kwargs_) - else: - return DescriptionType684(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType685(self, value): - # Validate type TextFormatType685, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType685' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType686(self, value): - # Validate type LanguageType686, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType686_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType686_patterns_, )) - validate_LanguageType686_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType684', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType684') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType684': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType684') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType684'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType684', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType685(self.TextFormat) # validate type TextFormatType685 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType686(self.Language) # validate type LanguageType686 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType684 - - -class ImageItemsType687(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ImageItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if ImageItem is None: - self.ImageItem = [] - else: - self.ImageItem = ImageItem - self.ImageItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemsType687) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemsType687.subclass: - return ImageItemsType687.subclass(*args_, **kwargs_) - else: - return ImageItemsType687(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageItem(self): - return self.ImageItem - def set_ImageItem(self, ImageItem): - self.ImageItem = ImageItem - def add_ImageItem(self, value): - self.ImageItem.append(value) - def insert_ImageItem_at(self, index, value): - self.ImageItem.insert(index, value) - def replace_ImageItem_at(self, index, value): - self.ImageItem[index] = value - def has__content(self): - if ( - self.ImageItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType687', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemsType687') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemsType687': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemsType687') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemsType687', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemsType687'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemsType687', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ImageItem_ in self.ImageItem: - namespaceprefix_ = self.ImageItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageItem_nsprefix_) else '' - ImageItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageItem': - obj_ = ImageItemType688.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageItem.append(obj_) - obj_.original_tagname_ = 'ImageItem' -# end class ImageItemsType687 - - -class ImageItemType688(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Category=None, ImageFormat=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Category = _cast(int, Category) - self.Category_nsprefix_ = None - self.ImageFormat = ImageFormat - self.ImageFormat_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageItemType688) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageItemType688.subclass: - return ImageItemType688.subclass(*args_, **kwargs_) - else: - return ImageItemType688(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ImageFormat(self): - return self.ImageFormat - def set_ImageFormat(self, ImageFormat): - self.ImageFormat = ImageFormat - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Category(self): - return self.Category - def set_Category(self, Category): - self.Category = Category - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.ImageFormat is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType688', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageItemType688') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageItemType688': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageItemType688') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageItemType688', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageItemType688'): - if self.Category is not None and 'Category' not in already_processed: - already_processed.add('Category') - outfile.write(' Category="%s"' % self.gds_format_integer(self.Category, input_name='Category')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageItemType688', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ImageFormat is not None: - namespaceprefix_ = self.ImageFormat_nsprefix_ + ':' if (UseCapturedNS_ and self.ImageFormat_nsprefix_) else '' - self.ImageFormat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ImageFormat', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Category', node) - if value is not None and 'Category' not in already_processed: - already_processed.add('Category') - self.Category = self.gds_parse_integer(value, node, 'Category') - if self.Category <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Category) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ImageFormat': - obj_ = ImageFormatType689.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ImageFormat = obj_ - obj_.original_tagname_ = 'ImageFormat' - elif nodeName_ == 'Description': - obj_ = DescriptionType690.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class ImageItemType688 - - -class ImageFormatType689(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CopyrightNotice=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CopyrightNotice = _cast(None, CopyrightNotice) - self.CopyrightNotice_nsprefix_ = None - self.URL = URL - self.validate_def_url_string(self.URL) - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ImageFormatType689) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ImageFormatType689.subclass: - return ImageFormatType689.subclass(*args_, **kwargs_) - else: - return ImageFormatType689(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def get_CopyrightNotice(self): - return self.CopyrightNotice - def set_CopyrightNotice(self, CopyrightNotice): - self.CopyrightNotice = CopyrightNotice - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.URL is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType689', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ImageFormatType689') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ImageFormatType689': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ImageFormatType689') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ImageFormatType689', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ImageFormatType689'): - if self.CopyrightNotice is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - outfile.write(' CopyrightNotice=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CopyrightNotice), input_name='CopyrightNotice')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ImageFormatType689', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.URL is not None: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.URL), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CopyrightNotice', node) - if value is not None and 'CopyrightNotice' not in already_processed: - already_processed.add('CopyrightNotice') - self.CopyrightNotice = value - self.validate_StringLength1to64(self.CopyrightNotice) # validate type StringLength1to64 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL = value_ - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL) -# end class ImageFormatType689 - - -class DescriptionType690(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType690) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType690.subclass: - return DescriptionType690.subclass(*args_, **kwargs_) - else: - return DescriptionType690(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType691(self, value): - # Validate type TextFormatType691, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType691' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType692(self, value): - # Validate type LanguageType692, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType692_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType692_patterns_, )) - validate_LanguageType692_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType690', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType690') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType690': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType690') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType690'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DescriptionType690', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType691(self.TextFormat) # validate type TextFormatType691 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType692(self.Language) # validate type LanguageType692 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DescriptionType690 - - -class PoliciesType694(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Policy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Policy is None: - self.Policy = [] - else: - self.Policy = Policy - self.Policy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PoliciesType694) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PoliciesType694.subclass: - return PoliciesType694.subclass(*args_, **kwargs_) - else: - return PoliciesType694(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Policy(self): - return self.Policy - def set_Policy(self, Policy): - self.Policy = Policy - def add_Policy(self, value): - self.Policy.append(value) - def insert_Policy_at(self, index, value): - self.Policy.insert(index, value) - def replace_Policy_at(self, index, value): - self.Policy[index] = value - def has__content(self): - if ( - self.Policy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType694', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PoliciesType694') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PoliciesType694': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PoliciesType694') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PoliciesType694', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PoliciesType694'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PoliciesType694', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Policy_ in self.Policy: - namespaceprefix_ = self.Policy_nsprefix_ + ':' if (UseCapturedNS_ and self.Policy_nsprefix_) else '' - Policy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Policy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Policy': - obj_ = PolicyType695.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Policy.append(obj_) - obj_.original_tagname_ = 'Policy' -# end class PoliciesType694 - - -class PolicyType695(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPolicy = CancelPolicy - self.CancelPolicy_nsprefix_ = None - self.CheckoutCharges = CheckoutCharges - self.CheckoutCharges_nsprefix_ = None - self.PetsPolicies = PetsPolicies - self.PetsPolicies_nsprefix_ = None - self.TaxPolicies = TaxPolicies - self.TaxPolicies_nsprefix_ = None - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - self.GuaranteePaymentPolicy_nsprefix_ = None - self.PolicyInfo = PolicyInfo - self.PolicyInfo_nsprefix_ = None - self.StayRequirements = StayRequirements - self.StayRequirements_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyType695) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyType695.subclass: - return PolicyType695.subclass(*args_, **kwargs_) - else: - return PolicyType695(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPolicy(self): - return self.CancelPolicy - def set_CancelPolicy(self, CancelPolicy): - self.CancelPolicy = CancelPolicy - def get_CheckoutCharges(self): - return self.CheckoutCharges - def set_CheckoutCharges(self, CheckoutCharges): - self.CheckoutCharges = CheckoutCharges - def get_PetsPolicies(self): - return self.PetsPolicies - def set_PetsPolicies(self, PetsPolicies): - self.PetsPolicies = PetsPolicies - def get_TaxPolicies(self): - return self.TaxPolicies - def set_TaxPolicies(self, TaxPolicies): - self.TaxPolicies = TaxPolicies - def get_GuaranteePaymentPolicy(self): - return self.GuaranteePaymentPolicy - def set_GuaranteePaymentPolicy(self, GuaranteePaymentPolicy): - self.GuaranteePaymentPolicy = GuaranteePaymentPolicy - def get_PolicyInfo(self): - return self.PolicyInfo - def set_PolicyInfo(self, PolicyInfo): - self.PolicyInfo = PolicyInfo - def get_StayRequirements(self): - return self.StayRequirements - def set_StayRequirements(self, StayRequirements): - self.StayRequirements = StayRequirements - def has__content(self): - if ( - self.CancelPolicy is not None or - self.CheckoutCharges is not None or - self.PetsPolicies is not None or - self.TaxPolicies is not None or - self.GuaranteePaymentPolicy is not None or - self.PolicyInfo is not None or - self.StayRequirements is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType695', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyType695') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyType695': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyType695') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyType695', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyType695'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PolicyType695', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPolicy is not None: - namespaceprefix_ = self.CancelPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPolicy_nsprefix_) else '' - self.CancelPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPolicy', pretty_print=pretty_print) - if self.CheckoutCharges is not None: - namespaceprefix_ = self.CheckoutCharges_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharges_nsprefix_) else '' - self.CheckoutCharges.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharges', pretty_print=pretty_print) - if self.PetsPolicies is not None: - namespaceprefix_ = self.PetsPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicies_nsprefix_) else '' - self.PetsPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicies', pretty_print=pretty_print) - if self.TaxPolicies is not None: - namespaceprefix_ = self.TaxPolicies_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicies_nsprefix_) else '' - self.TaxPolicies.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicies', pretty_print=pretty_print) - if self.GuaranteePaymentPolicy is not None: - namespaceprefix_ = self.GuaranteePaymentPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePaymentPolicy_nsprefix_) else '' - self.GuaranteePaymentPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePaymentPolicy', pretty_print=pretty_print) - if self.PolicyInfo is not None: - namespaceprefix_ = self.PolicyInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.PolicyInfo_nsprefix_) else '' - self.PolicyInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PolicyInfo', pretty_print=pretty_print) - if self.StayRequirements is not None: - namespaceprefix_ = self.StayRequirements_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirements_nsprefix_) else '' - self.StayRequirements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirements', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPolicy': - obj_ = CancelPolicyType696.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPolicy = obj_ - obj_.original_tagname_ = 'CancelPolicy' - elif nodeName_ == 'CheckoutCharges': - obj_ = CheckoutChargesType702.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharges = obj_ - obj_.original_tagname_ = 'CheckoutCharges' - elif nodeName_ == 'PetsPolicies': - obj_ = PetsPoliciesType708.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicies = obj_ - obj_.original_tagname_ = 'PetsPolicies' - elif nodeName_ == 'TaxPolicies': - obj_ = TaxPoliciesType714.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicies = obj_ - obj_.original_tagname_ = 'TaxPolicies' - elif nodeName_ == 'GuaranteePaymentPolicy': - obj_ = GuaranteePaymentPolicyType723.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePaymentPolicy = obj_ - obj_.original_tagname_ = 'GuaranteePaymentPolicy' - elif nodeName_ == 'PolicyInfo': - obj_ = PolicyInfoType738.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PolicyInfo = obj_ - obj_.original_tagname_ = 'PolicyInfo' - elif nodeName_ == 'StayRequirements': - obj_ = StayRequirementsType739.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirements = obj_ - obj_.original_tagname_ = 'StayRequirements' -# end class PolicyType695 - - -class CancelPolicyType696(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CancelPenalty=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CancelPenalty = CancelPenalty - self.CancelPenalty_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPolicyType696) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPolicyType696.subclass: - return CancelPolicyType696.subclass(*args_, **kwargs_) - else: - return CancelPolicyType696(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CancelPenalty(self): - return self.CancelPenalty - def set_CancelPenalty(self, CancelPenalty): - self.CancelPenalty = CancelPenalty - def has__content(self): - if ( - self.CancelPenalty is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType696', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPolicyType696') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPolicyType696': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPolicyType696') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPolicyType696', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPolicyType696'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPolicyType696', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CancelPenalty is not None: - namespaceprefix_ = self.CancelPenalty_nsprefix_ + ':' if (UseCapturedNS_ and self.CancelPenalty_nsprefix_) else '' - self.CancelPenalty.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CancelPenalty', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CancelPenalty': - obj_ = CancelPenaltyType697.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CancelPenalty = obj_ - obj_.original_tagname_ = 'CancelPenalty' -# end class CancelPolicyType696 - - -class CancelPenaltyType697(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PenaltyDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PenaltyDescription = PenaltyDescription - self.PenaltyDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CancelPenaltyType697) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CancelPenaltyType697.subclass: - return CancelPenaltyType697.subclass(*args_, **kwargs_) - else: - return CancelPenaltyType697(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PenaltyDescription(self): - return self.PenaltyDescription - def set_PenaltyDescription(self, PenaltyDescription): - self.PenaltyDescription = PenaltyDescription - def has__content(self): - if ( - self.PenaltyDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType697', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CancelPenaltyType697') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CancelPenaltyType697': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CancelPenaltyType697') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CancelPenaltyType697', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CancelPenaltyType697'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CancelPenaltyType697', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PenaltyDescription is not None: - namespaceprefix_ = self.PenaltyDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.PenaltyDescription_nsprefix_) else '' - self.PenaltyDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PenaltyDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PenaltyDescription': - obj_ = PenaltyDescriptionType698.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PenaltyDescription = obj_ - obj_.original_tagname_ = 'PenaltyDescription' -# end class CancelPenaltyType697 - - -class PenaltyDescriptionType698(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PenaltyDescriptionType698) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PenaltyDescriptionType698.subclass: - return PenaltyDescriptionType698.subclass(*args_, **kwargs_) - else: - return PenaltyDescriptionType698(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType698', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PenaltyDescriptionType698') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PenaltyDescriptionType698': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PenaltyDescriptionType698') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PenaltyDescriptionType698', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PenaltyDescriptionType698'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PenaltyDescriptionType698', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType699.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class PenaltyDescriptionType698 - - -class TextType699(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType699) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType699.subclass: - return TextType699.subclass(*args_, **kwargs_) - else: - return TextType699(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType700(self, value): - # Validate type TextFormatType700, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType700' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType701(self, value): - # Validate type LanguageType701, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType701_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType701_patterns_, )) - validate_LanguageType701_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType699', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType699') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType699': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType699') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType699'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType699', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType700(self.TextFormat) # validate type TextFormatType700 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType701(self.Language) # validate type LanguageType701 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType699 - - -class CheckoutChargesType702(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CheckoutCharge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CheckoutCharge = CheckoutCharge - self.CheckoutCharge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargesType702) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargesType702.subclass: - return CheckoutChargesType702.subclass(*args_, **kwargs_) - else: - return CheckoutChargesType702(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CheckoutCharge(self): - return self.CheckoutCharge - def set_CheckoutCharge(self, CheckoutCharge): - self.CheckoutCharge = CheckoutCharge - def has__content(self): - if ( - self.CheckoutCharge is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType702', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargesType702') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargesType702': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargesType702') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargesType702', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargesType702'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargesType702', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CheckoutCharge is not None: - namespaceprefix_ = self.CheckoutCharge_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckoutCharge_nsprefix_) else '' - self.CheckoutCharge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CheckoutCharge', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CheckoutCharge': - obj_ = CheckoutChargeType703.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CheckoutCharge = obj_ - obj_.original_tagname_ = 'CheckoutCharge' -# end class CheckoutChargesType702 - - -class CheckoutChargeType703(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CheckoutChargeType703) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CheckoutChargeType703.subclass: - return CheckoutChargeType703.subclass(*args_, **kwargs_) - else: - return CheckoutChargeType703(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType703', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CheckoutChargeType703') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CheckoutChargeType703': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CheckoutChargeType703') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CheckoutChargeType703', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CheckoutChargeType703'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='CheckoutChargeType703', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType704.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class CheckoutChargeType703 - - -class DescriptionType704(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType704) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType704.subclass: - return DescriptionType704.subclass(*args_, **kwargs_) - else: - return DescriptionType704(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType704', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType704') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType704': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType704') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType704', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType704'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType704', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType705.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType704 - - -class TextType705(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType705) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType705.subclass: - return TextType705.subclass(*args_, **kwargs_) - else: - return TextType705(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType706(self, value): - # Validate type TextFormatType706, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType706' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType707(self, value): - # Validate type LanguageType707, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType707_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType707_patterns_, )) - validate_LanguageType707_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType705', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType705') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType705': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType705') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType705'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType705', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType706(self.TextFormat) # validate type TextFormatType706 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType707(self.Language) # validate type LanguageType707 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType705 - - -class PetsPoliciesType708(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PetsPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PetsPolicy = PetsPolicy - self.PetsPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPoliciesType708) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPoliciesType708.subclass: - return PetsPoliciesType708.subclass(*args_, **kwargs_) - else: - return PetsPoliciesType708(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PetsPolicy(self): - return self.PetsPolicy - def set_PetsPolicy(self, PetsPolicy): - self.PetsPolicy = PetsPolicy - def has__content(self): - if ( - self.PetsPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType708', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPoliciesType708') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPoliciesType708': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPoliciesType708') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPoliciesType708', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPoliciesType708'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPoliciesType708', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PetsPolicy is not None: - namespaceprefix_ = self.PetsPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.PetsPolicy_nsprefix_) else '' - self.PetsPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PetsPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PetsPolicy': - obj_ = PetsPolicyType709.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PetsPolicy = obj_ - obj_.original_tagname_ = 'PetsPolicy' -# end class PetsPoliciesType708 - - -class PetsPolicyType709(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MaxPetQuantity = _cast(int, MaxPetQuantity) - self.MaxPetQuantity_nsprefix_ = None - self.NonRefundableFee = _cast(float, NonRefundableFee) - self.NonRefundableFee_nsprefix_ = None - self.ChargeCode = _cast(int, ChargeCode) - self.ChargeCode_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PetsPolicyType709) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PetsPolicyType709.subclass: - return PetsPolicyType709.subclass(*args_, **kwargs_) - else: - return PetsPolicyType709(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def get_MaxPetQuantity(self): - return self.MaxPetQuantity - def set_MaxPetQuantity(self, MaxPetQuantity): - self.MaxPetQuantity = MaxPetQuantity - def get_NonRefundableFee(self): - return self.NonRefundableFee - def set_NonRefundableFee(self, NonRefundableFee): - self.NonRefundableFee = NonRefundableFee - def get_ChargeCode(self): - return self.ChargeCode - def set_ChargeCode(self, ChargeCode): - self.ChargeCode = ChargeCode - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Description is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType709', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PetsPolicyType709') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PetsPolicyType709': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PetsPolicyType709') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PetsPolicyType709', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PetsPolicyType709'): - if self.MaxPetQuantity is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - outfile.write(' MaxPetQuantity="%s"' % self.gds_format_integer(self.MaxPetQuantity, input_name='MaxPetQuantity')) - if self.NonRefundableFee is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - outfile.write(' NonRefundableFee="%s"' % self.gds_format_decimal(self.NonRefundableFee, input_name='NonRefundableFee')) - if self.ChargeCode is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - outfile.write(' ChargeCode="%s"' % self.gds_format_integer(self.ChargeCode, input_name='ChargeCode')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PetsPolicyType709', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Description is not None: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - self.Description.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MaxPetQuantity', node) - if value is not None and 'MaxPetQuantity' not in already_processed: - already_processed.add('MaxPetQuantity') - self.MaxPetQuantity = self.gds_parse_integer(value, node, 'MaxPetQuantity') - if self.MaxPetQuantity < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MaxPetQuantity) # validate type def_int_ge0 - value = find_attr_value_('NonRefundableFee', node) - if value is not None and 'NonRefundableFee' not in already_processed: - already_processed.add('NonRefundableFee') - value = self.gds_parse_decimal(value, node, 'NonRefundableFee') - self.NonRefundableFee = value - self.validate_def_decimal_ge0(self.NonRefundableFee) # validate type def_decimal_ge0 - value = find_attr_value_('ChargeCode', node) - if value is not None and 'ChargeCode' not in already_processed: - already_processed.add('ChargeCode') - self.ChargeCode = self.gds_parse_integer(value, node, 'ChargeCode') - if self.ChargeCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.ChargeCode) # validate type def_int_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Description': - obj_ = DescriptionType710.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description = obj_ - obj_.original_tagname_ = 'Description' -# end class PetsPolicyType709 - - -class DescriptionType710(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType710) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType710.subclass: - return DescriptionType710.subclass(*args_, **kwargs_) - else: - return DescriptionType710(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType710', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType710') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType710': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType710') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType710', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType710'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType710', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType711.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class DescriptionType710 - - -class TextType711(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType711) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType711.subclass: - return TextType711.subclass(*args_, **kwargs_) - else: - return TextType711(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType712(self, value): - # Validate type TextFormatType712, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType712' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType713(self, value): - # Validate type LanguageType713, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType713_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType713_patterns_, )) - validate_LanguageType713_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType711', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType711') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType711': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType711') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType711'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType711', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType712(self.TextFormat) # validate type TextFormatType712 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType713(self.Language) # validate type LanguageType713 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType711 - - -class TaxPoliciesType714(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TaxPolicy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TaxPolicy = TaxPolicy - self.TaxPolicy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPoliciesType714) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPoliciesType714.subclass: - return TaxPoliciesType714.subclass(*args_, **kwargs_) - else: - return TaxPoliciesType714(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxPolicy(self): - return self.TaxPolicy - def set_TaxPolicy(self, TaxPolicy): - self.TaxPolicy = TaxPolicy - def has__content(self): - if ( - self.TaxPolicy is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType714', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPoliciesType714') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPoliciesType714': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPoliciesType714') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPoliciesType714', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPoliciesType714'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPoliciesType714', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxPolicy is not None: - namespaceprefix_ = self.TaxPolicy_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxPolicy_nsprefix_) else '' - self.TaxPolicy.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxPolicy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxPolicy': - obj_ = TaxPolicyType715.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxPolicy = obj_ - obj_.original_tagname_ = 'TaxPolicy' -# end class TaxPoliciesType714 - - -class TaxPolicyType715(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.DecimalPlaces = _cast(int, DecimalPlaces) - self.DecimalPlaces_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.ChargeFrequency = _cast(None, ChargeFrequency) - self.ChargeFrequency_nsprefix_ = None - self.ChargeUnit = _cast(None, ChargeUnit) - self.ChargeUnit_nsprefix_ = None - self.TaxDescription = TaxDescription - self.TaxDescription_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxPolicyType715) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxPolicyType715.subclass: - return TaxPolicyType715.subclass(*args_, **kwargs_) - else: - return TaxPolicyType715(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TaxDescription(self): - return self.TaxDescription - def set_TaxDescription(self, TaxDescription): - self.TaxDescription = TaxDescription - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_DecimalPlaces(self): - return self.DecimalPlaces - def set_DecimalPlaces(self, DecimalPlaces): - self.DecimalPlaces = DecimalPlaces - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_ChargeFrequency(self): - return self.ChargeFrequency - def set_ChargeFrequency(self, ChargeFrequency): - self.ChargeFrequency = ChargeFrequency - def get_ChargeUnit(self): - return self.ChargeUnit - def set_ChargeUnit(self, ChargeUnit): - self.ChargeUnit = ChargeUnit - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_CodeType720(self, value): - # Validate type CodeType720, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['3'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeType720' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeFrequencyType721(self, value): - # Validate type ChargeFrequencyType721, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeFrequencyType721' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeUnitType722(self, value): - # Validate type ChargeUnitType722, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['21'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeUnitType722' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.TaxDescription is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType715', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxPolicyType715') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxPolicyType715': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxPolicyType715') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxPolicyType715', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxPolicyType715'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.DecimalPlaces is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - outfile.write(' DecimalPlaces="%s"' % self.gds_format_integer(self.DecimalPlaces, input_name='DecimalPlaces')) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.ChargeFrequency is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - outfile.write(' ChargeFrequency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeFrequency), input_name='ChargeFrequency')), )) - if self.ChargeUnit is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - outfile.write(' ChargeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeUnit), input_name='ChargeUnit')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxPolicyType715', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.TaxDescription is not None: - namespaceprefix_ = self.TaxDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.TaxDescription_nsprefix_) else '' - self.TaxDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TaxDescription', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('DecimalPlaces', node) - if value is not None and 'DecimalPlaces' not in already_processed: - already_processed.add('DecimalPlaces') - self.DecimalPlaces = self.gds_parse_integer(value, node, 'DecimalPlaces') - if self.DecimalPlaces <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.DecimalPlaces) # validate type def_int_gt0 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType720(self.Code) # validate type CodeType720 - value = find_attr_value_('ChargeFrequency', node) - if value is not None and 'ChargeFrequency' not in already_processed: - already_processed.add('ChargeFrequency') - self.ChargeFrequency = value - self.validate_ChargeFrequencyType721(self.ChargeFrequency) # validate type ChargeFrequencyType721 - value = find_attr_value_('ChargeUnit', node) - if value is not None and 'ChargeUnit' not in already_processed: - already_processed.add('ChargeUnit') - self.ChargeUnit = value - self.validate_ChargeUnitType722(self.ChargeUnit) # validate type ChargeUnitType722 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'TaxDescription': - obj_ = TaxDescriptionType716.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.TaxDescription = obj_ - obj_.original_tagname_ = 'TaxDescription' -# end class TaxPolicyType715 - - -class TaxDescriptionType716(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Text=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TaxDescriptionType716) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TaxDescriptionType716.subclass: - return TaxDescriptionType716.subclass(*args_, **kwargs_) - else: - return TaxDescriptionType716(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def has__content(self): - if ( - self.Text - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType716', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TaxDescriptionType716') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TaxDescriptionType716': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TaxDescriptionType716') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TaxDescriptionType716', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TaxDescriptionType716'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='TaxDescriptionType716', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Text': - obj_ = TextType717.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' -# end class TaxDescriptionType716 - - -class TextType717(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType717) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType717.subclass: - return TextType717.subclass(*args_, **kwargs_) - else: - return TextType717(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType718(self, value): - # Validate type TextFormatType718, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType718' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType719(self, value): - # Validate type LanguageType719, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType719_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType719_patterns_, )) - validate_LanguageType719_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType717', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType717') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType717': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType717') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType717'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType717', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType718(self.TextFormat) # validate type TextFormatType718 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType719(self.Language) # validate type LanguageType719 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType717 - - -class GuaranteePaymentPolicyType723(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, GuaranteePayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.GuaranteePayment = GuaranteePayment - self.GuaranteePayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentPolicyType723) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentPolicyType723.subclass: - return GuaranteePaymentPolicyType723.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentPolicyType723(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_GuaranteePayment(self): - return self.GuaranteePayment - def set_GuaranteePayment(self, GuaranteePayment): - self.GuaranteePayment = GuaranteePayment - def has__content(self): - if ( - self.GuaranteePayment is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType723', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentPolicyType723') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentPolicyType723': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentPolicyType723') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentPolicyType723', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentPolicyType723'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentPolicyType723', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.GuaranteePayment is not None: - namespaceprefix_ = self.GuaranteePayment_nsprefix_ + ':' if (UseCapturedNS_ and self.GuaranteePayment_nsprefix_) else '' - self.GuaranteePayment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GuaranteePayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'GuaranteePayment': - obj_ = GuaranteePaymentType724.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.GuaranteePayment = obj_ - obj_.original_tagname_ = 'GuaranteePayment' -# end class GuaranteePaymentPolicyType723 - - -class GuaranteePaymentType724(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AcceptedPayments = AcceptedPayments - self.AcceptedPayments_nsprefix_ = None - self.AmountPercent = AmountPercent - self.AmountPercent_nsprefix_ = None - self.Deadline = Deadline - self.Deadline_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuaranteePaymentType724) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuaranteePaymentType724.subclass: - return GuaranteePaymentType724.subclass(*args_, **kwargs_) - else: - return GuaranteePaymentType724(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayments(self): - return self.AcceptedPayments - def set_AcceptedPayments(self, AcceptedPayments): - self.AcceptedPayments = AcceptedPayments - def get_AmountPercent(self): - return self.AmountPercent - def set_AmountPercent(self, AmountPercent): - self.AmountPercent = AmountPercent - def get_Deadline(self): - return self.Deadline - def set_Deadline(self, Deadline): - self.Deadline = Deadline - def has__content(self): - if ( - self.AcceptedPayments is not None or - self.AmountPercent is not None or - self.Deadline is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType724', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuaranteePaymentType724') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuaranteePaymentType724': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuaranteePaymentType724') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuaranteePaymentType724', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuaranteePaymentType724'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuaranteePaymentType724', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AcceptedPayments is not None: - namespaceprefix_ = self.AcceptedPayments_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayments_nsprefix_) else '' - self.AcceptedPayments.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayments', pretty_print=pretty_print) - if self.AmountPercent is not None: - namespaceprefix_ = self.AmountPercent_nsprefix_ + ':' if (UseCapturedNS_ and self.AmountPercent_nsprefix_) else '' - self.AmountPercent.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AmountPercent', pretty_print=pretty_print) - if self.Deadline is not None: - namespaceprefix_ = self.Deadline_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadline_nsprefix_) else '' - self.Deadline.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadline', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayments': - obj_ = AcceptedPaymentsType725.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayments = obj_ - obj_.original_tagname_ = 'AcceptedPayments' - elif nodeName_ == 'AmountPercent': - obj_ = AmountPercentType736.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AmountPercent = obj_ - obj_.original_tagname_ = 'AmountPercent' - elif nodeName_ == 'Deadline': - obj_ = DeadlineType737.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Deadline = obj_ - obj_.original_tagname_ = 'Deadline' -# end class GuaranteePaymentType724 - - -class AcceptedPaymentsType725(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AcceptedPayment=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AcceptedPayment is None: - self.AcceptedPayment = [] - else: - self.AcceptedPayment = AcceptedPayment - self.AcceptedPayment_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentsType725) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentsType725.subclass: - return AcceptedPaymentsType725.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentsType725(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AcceptedPayment(self): - return self.AcceptedPayment - def set_AcceptedPayment(self, AcceptedPayment): - self.AcceptedPayment = AcceptedPayment - def add_AcceptedPayment(self, value): - self.AcceptedPayment.append(value) - def insert_AcceptedPayment_at(self, index, value): - self.AcceptedPayment.insert(index, value) - def replace_AcceptedPayment_at(self, index, value): - self.AcceptedPayment[index] = value - def has__content(self): - if ( - self.AcceptedPayment - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType725', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentsType725') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentsType725': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentsType725') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentsType725', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentsType725'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentsType725', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AcceptedPayment_ in self.AcceptedPayment: - namespaceprefix_ = self.AcceptedPayment_nsprefix_ + ':' if (UseCapturedNS_ and self.AcceptedPayment_nsprefix_) else '' - AcceptedPayment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AcceptedPayment', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AcceptedPayment': - obj_ = AcceptedPaymentType726.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AcceptedPayment.append(obj_) - obj_.original_tagname_ = 'AcceptedPayment' -# end class AcceptedPaymentsType725 - - -class AcceptedPaymentType726(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcct = BankAcct - self.BankAcct_nsprefix_ = None - self.Cash = Cash - self.Cash_nsprefix_ = None - self.PaymentCard = PaymentCard - self.PaymentCard_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AcceptedPaymentType726) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AcceptedPaymentType726.subclass: - return AcceptedPaymentType726.subclass(*args_, **kwargs_) - else: - return AcceptedPaymentType726(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcct(self): - return self.BankAcct - def set_BankAcct(self, BankAcct): - self.BankAcct = BankAcct - def get_Cash(self): - return self.Cash - def set_Cash(self, Cash): - self.Cash = Cash - def get_PaymentCard(self): - return self.PaymentCard - def set_PaymentCard(self, PaymentCard): - self.PaymentCard = PaymentCard - def has__content(self): - if ( - self.BankAcct is not None or - self.Cash is not None or - self.PaymentCard is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType726', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AcceptedPaymentType726') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AcceptedPaymentType726': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AcceptedPaymentType726') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AcceptedPaymentType726', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AcceptedPaymentType726'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AcceptedPaymentType726', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcct is not None: - namespaceprefix_ = self.BankAcct_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcct_nsprefix_) else '' - self.BankAcct.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcct', pretty_print=pretty_print) - if self.Cash is not None: - namespaceprefix_ = self.Cash_nsprefix_ + ':' if (UseCapturedNS_ and self.Cash_nsprefix_) else '' - self.Cash.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Cash', pretty_print=pretty_print) - if self.PaymentCard is not None: - namespaceprefix_ = self.PaymentCard_nsprefix_ + ':' if (UseCapturedNS_ and self.PaymentCard_nsprefix_) else '' - self.PaymentCard.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PaymentCard', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcct': - obj_ = BankAcctType727.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcct = obj_ - obj_.original_tagname_ = 'BankAcct' - elif nodeName_ == 'Cash': - obj_ = CashType733.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Cash = obj_ - obj_.original_tagname_ = 'Cash' - elif nodeName_ == 'PaymentCard': - obj_ = PaymentCardType734.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PaymentCard = obj_ - obj_.original_tagname_ = 'PaymentCard' -# end class AcceptedPaymentType726 - - -class BankAcctType727(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.BankAcctName = BankAcctName - self.BankAcctName_nsprefix_ = None - self.BankAcctNumber = BankAcctNumber - self.BankAcctNumber_nsprefix_ = None - self.BankID = BankID - self.BankID_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctType727) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctType727.subclass: - return BankAcctType727.subclass(*args_, **kwargs_) - else: - return BankAcctType727(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BankAcctName(self): - return self.BankAcctName - def set_BankAcctName(self, BankAcctName): - self.BankAcctName = BankAcctName - def get_BankAcctNumber(self): - return self.BankAcctNumber - def set_BankAcctNumber(self, BankAcctNumber): - self.BankAcctNumber = BankAcctNumber - def get_BankID(self): - return self.BankID - def set_BankID(self, BankID): - self.BankID = BankID - def has__content(self): - if ( - self.BankAcctName is not None or - self.BankAcctNumber is not None or - self.BankID is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType727', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctType727') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctType727': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctType727') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctType727', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctType727'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctType727', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BankAcctName is not None: - namespaceprefix_ = self.BankAcctName_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctName_nsprefix_) else '' - self.BankAcctName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctName', pretty_print=pretty_print) - if self.BankAcctNumber is not None: - namespaceprefix_ = self.BankAcctNumber_nsprefix_ + ':' if (UseCapturedNS_ and self.BankAcctNumber_nsprefix_) else '' - self.BankAcctNumber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankAcctNumber', pretty_print=pretty_print) - if self.BankID is not None: - namespaceprefix_ = self.BankID_nsprefix_ + ':' if (UseCapturedNS_ and self.BankID_nsprefix_) else '' - self.BankID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BankID', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BankAcctName': - obj_ = BankAcctNameType728.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctName = obj_ - obj_.original_tagname_ = 'BankAcctName' - elif nodeName_ == 'BankAcctNumber': - obj_ = BankAcctNumberType729.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankAcctNumber = obj_ - obj_.original_tagname_ = 'BankAcctNumber' - elif nodeName_ == 'BankID': - obj_ = BankIDType731.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BankID = obj_ - obj_.original_tagname_ = 'BankID' -# end class BankAcctType727 - - -class BankAcctNameType728(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNameType728) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNameType728.subclass: - return BankAcctNameType728.subclass(*args_, **kwargs_) - else: - return BankAcctNameType728(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType728', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNameType728') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNameType728': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNameType728') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNameType728'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BankAcctNameType728', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BankAcctNameType728 - - -class BankAcctNumberType729(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankAcctNumberType729) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankAcctNumberType729.subclass: - return BankAcctNumberType729.subclass(*args_, **kwargs_) - else: - return BankAcctNumberType729(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType729', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankAcctNumberType729') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankAcctNumberType729': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankAcctNumberType729') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankAcctNumberType729', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankAcctNumberType729'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankAcctNumberType729', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType730.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankAcctNumberType729 - - -class PlainTextType730(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType730) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType730.subclass: - return PlainTextType730.subclass(*args_, **kwargs_) - else: - return PlainTextType730(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType730', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType730') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType730': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType730') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType730'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType730', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType730 - - -class BankIDType731(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PlainText=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PlainText = PlainText - self.PlainText_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BankIDType731) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BankIDType731.subclass: - return BankIDType731.subclass(*args_, **kwargs_) - else: - return BankIDType731(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PlainText(self): - return self.PlainText - def set_PlainText(self, PlainText): - self.PlainText = PlainText - def has__content(self): - if ( - self.PlainText is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType731', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BankIDType731') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BankIDType731': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BankIDType731') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BankIDType731', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BankIDType731'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BankIDType731', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PlainText is not None: - namespaceprefix_ = self.PlainText_nsprefix_ + ':' if (UseCapturedNS_ and self.PlainText_nsprefix_) else '' - self.PlainText.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlainText', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PlainText': - obj_ = PlainTextType732.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PlainText = obj_ - obj_.original_tagname_ = 'PlainText' -# end class BankIDType731 - - -class PlainTextType732(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PlainTextType732) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PlainTextType732.subclass: - return PlainTextType732.subclass(*args_, **kwargs_) - else: - return PlainTextType732(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_NumericStringLength1to19(self, value): - result = True - # Validate type NumericStringLength1to19, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_NumericStringLength1to19_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_NumericStringLength1to19_patterns_, )) - result = False - return result - validate_NumericStringLength1to19_patterns_ = [['^([0-9]{1,19})$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType732', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PlainTextType732') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PlainTextType732': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PlainTextType732') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PlainTextType732'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PlainTextType732', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PlainTextType732 - - -class CashType733(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CashIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CashIndicator = _cast(bool, CashIndicator) - self.CashIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CashType733) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CashType733.subclass: - return CashType733.subclass(*args_, **kwargs_) - else: - return CashType733(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CashIndicator(self): - return self.CashIndicator - def set_CashIndicator(self, CashIndicator): - self.CashIndicator = CashIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType733', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CashType733') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CashType733': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CashType733') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CashType733', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CashType733'): - if self.CashIndicator is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - outfile.write(' CashIndicator="%s"' % self.gds_format_boolean(self.CashIndicator, input_name='CashIndicator')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CashType733', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CashIndicator', node) - if value is not None and 'CashIndicator' not in already_processed: - already_processed.add('CashIndicator') - if value in ('true', '1'): - self.CashIndicator = True - elif value in ('false', '0'): - self.CashIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.CashIndicator) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CashType733 - - -class PaymentCardType734(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CardCode=None, CardType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CardCode = _cast(None, CardCode) - self.CardCode_nsprefix_ = None - self.CardType = CardType - self.CardType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PaymentCardType734) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PaymentCardType734.subclass: - return PaymentCardType734.subclass(*args_, **kwargs_) - else: - return PaymentCardType734(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_CardType(self): - return self.CardType - def set_CardType(self, CardType): - self.CardType = CardType - def get_CardCode(self): - return self.CardCode - def set_CardCode(self, CardCode): - self.CardCode = CardCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.CardType is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType734', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PaymentCardType734') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PaymentCardType734': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PaymentCardType734') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PaymentCardType734', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PaymentCardType734'): - if self.CardCode is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - outfile.write(' CardCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CardCode), input_name='CardCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PaymentCardType734', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.CardType is not None: - namespaceprefix_ = self.CardType_nsprefix_ + ':' if (UseCapturedNS_ and self.CardType_nsprefix_) else '' - self.CardType.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CardType', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CardCode', node) - if value is not None and 'CardCode' not in already_processed: - already_processed.add('CardCode') - self.CardCode = value - self.validate_def_nonempty_string(self.CardCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'CardType': - obj_ = CardTypeType735.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CardType = obj_ - obj_.original_tagname_ = 'CardType' -# end class PaymentCardType734 - - -class CardTypeType735(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CardTypeType735) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CardTypeType735.subclass: - return CardTypeType735.subclass(*args_, **kwargs_) - else: - return CardTypeType735(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType735', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CardTypeType735') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CardTypeType735': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CardTypeType735') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CardTypeType735'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CardTypeType735', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CardTypeType735 - - -class AmountPercentType736(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(float, Percent) - self.Percent_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AmountPercentType736) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AmountPercentType736.subclass: - return AmountPercentType736.subclass(*args_, **kwargs_) - else: - return AmountPercentType736(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType736', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AmountPercentType736') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AmountPercentType736': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AmountPercentType736') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AmountPercentType736', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AmountPercentType736'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent="%s"' % self.gds_format_decimal(self.Percent, input_name='Percent')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AmountPercentType736', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - value = self.gds_parse_decimal(value, node, 'Percent') - self.Percent = value - self.validate_def_decimal_gt0(self.Percent) # validate type def_decimal_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AmountPercentType736 - - -class DeadlineType737(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OffsetDropTime = _cast(None, OffsetDropTime) - self.OffsetDropTime_nsprefix_ = None - self.OffsetTimeUnit = _cast(None, OffsetTimeUnit) - self.OffsetTimeUnit_nsprefix_ = None - self.OffsetUnitMultiplier = _cast(int, OffsetUnitMultiplier) - self.OffsetUnitMultiplier_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DeadlineType737) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DeadlineType737.subclass: - return DeadlineType737.subclass(*args_, **kwargs_) - else: - return DeadlineType737(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OffsetDropTime(self): - return self.OffsetDropTime - def set_OffsetDropTime(self, OffsetDropTime): - self.OffsetDropTime = OffsetDropTime - def get_OffsetTimeUnit(self): - return self.OffsetTimeUnit - def set_OffsetTimeUnit(self, OffsetTimeUnit): - self.OffsetTimeUnit = OffsetTimeUnit - def get_OffsetUnitMultiplier(self): - return self.OffsetUnitMultiplier - def set_OffsetUnitMultiplier(self, OffsetUnitMultiplier): - self.OffsetUnitMultiplier = OffsetUnitMultiplier - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TimeUnitType(self, value): - # Validate type TimeUnitType, a restriction on StringLength1to16. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Year', 'Month', 'Week', 'Day', 'Hour', 'Second', 'FullDuration', 'Minute'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TimeUnitType' % {"value": value, "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TimeUnitType' % {"value" : value, "lineno": lineno} ) - result = False - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType737', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DeadlineType737') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DeadlineType737': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DeadlineType737') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DeadlineType737', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DeadlineType737'): - if self.OffsetDropTime is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - outfile.write(' OffsetDropTime=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.OffsetDropTime), input_name='OffsetDropTime')), )) - if self.OffsetTimeUnit is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - outfile.write(' OffsetTimeUnit=%s' % (quote_attrib(self.OffsetTimeUnit), )) - if self.OffsetUnitMultiplier is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - outfile.write(' OffsetUnitMultiplier="%s"' % self.gds_format_integer(self.OffsetUnitMultiplier, input_name='OffsetUnitMultiplier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DeadlineType737', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('OffsetDropTime', node) - if value is not None and 'OffsetDropTime' not in already_processed: - already_processed.add('OffsetDropTime') - self.OffsetDropTime = value - self.validate_def_nonempty_string(self.OffsetDropTime) # validate type def_nonempty_string - value = find_attr_value_('OffsetTimeUnit', node) - if value is not None and 'OffsetTimeUnit' not in already_processed: - already_processed.add('OffsetTimeUnit') - self.OffsetTimeUnit = value - self.validate_TimeUnitType(self.OffsetTimeUnit) # validate type TimeUnitType - value = find_attr_value_('OffsetUnitMultiplier', node) - if value is not None and 'OffsetUnitMultiplier' not in already_processed: - already_processed.add('OffsetUnitMultiplier') - self.OffsetUnitMultiplier = self.gds_parse_integer(value, node, 'OffsetUnitMultiplier') - if self.OffsetUnitMultiplier < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.OffsetUnitMultiplier) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DeadlineType737 - - -class PolicyInfoType738(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestAge = _cast(int, MinGuestAge) - self.MinGuestAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PolicyInfoType738) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PolicyInfoType738.subclass: - return PolicyInfoType738.subclass(*args_, **kwargs_) - else: - return PolicyInfoType738(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_MinGuestAge(self): - return self.MinGuestAge - def set_MinGuestAge(self, MinGuestAge): - self.MinGuestAge = MinGuestAge - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType738', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PolicyInfoType738') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PolicyInfoType738': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PolicyInfoType738') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PolicyInfoType738', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PolicyInfoType738'): - if self.MinGuestAge is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - outfile.write(' MinGuestAge="%s"' % self.gds_format_integer(self.MinGuestAge, input_name='MinGuestAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PolicyInfoType738', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestAge', node) - if value is not None and 'MinGuestAge' not in already_processed: - already_processed.add('MinGuestAge') - self.MinGuestAge = self.gds_parse_integer(value, node, 'MinGuestAge') - if self.MinGuestAge < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinGuestAge) # validate type def_int_ge0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PolicyInfoType738 - - -class StayRequirementsType739(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayRequirement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if StayRequirement is None: - self.StayRequirement = [] - else: - self.StayRequirement = StayRequirement - self.StayRequirement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementsType739) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementsType739.subclass: - return StayRequirementsType739.subclass(*args_, **kwargs_) - else: - return StayRequirementsType739(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayRequirement(self): - return self.StayRequirement - def set_StayRequirement(self, StayRequirement): - self.StayRequirement = StayRequirement - def add_StayRequirement(self, value): - self.StayRequirement.append(value) - def insert_StayRequirement_at(self, index, value): - self.StayRequirement.insert(index, value) - def replace_StayRequirement_at(self, index, value): - self.StayRequirement[index] = value - def has__content(self): - if ( - self.StayRequirement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType739', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementsType739') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementsType739': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementsType739') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementsType739', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementsType739'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='StayRequirementsType739', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for StayRequirement_ in self.StayRequirement: - namespaceprefix_ = self.StayRequirement_nsprefix_ + ':' if (UseCapturedNS_ and self.StayRequirement_nsprefix_) else '' - StayRequirement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StayRequirement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'StayRequirement': - obj_ = StayRequirementType740.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StayRequirement.append(obj_) - obj_.original_tagname_ = 'StayRequirement' -# end class StayRequirementsType739 - - -class StayRequirementType740(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StayContext=None, Start=None, End=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StayContext = _cast(None, StayContext) - self.StayContext_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StayRequirementType740) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StayRequirementType740.subclass: - return StayRequirementType740.subclass(*args_, **kwargs_) - else: - return StayRequirementType740(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StayContext(self): - return self.StayContext - def set_StayContext(self, StayContext): - self.StayContext = StayContext - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_StayContextType741(self, value): - # Validate type StayContextType741, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Checkin', 'Checkout'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StayContextType741' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StartType742(self, value): - # Validate type StartType742, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_StartType742_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_StartType742_patterns_, )) - validate_StartType742_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def validate_EndType743(self, value): - # Validate type EndType743, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_EndType743_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_EndType743_patterns_, )) - validate_EndType743_patterns_ = [['^([0-2][0-9]:[0-5][0-9]:[0-5][0-9])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType740', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StayRequirementType740') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StayRequirementType740': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StayRequirementType740') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StayRequirementType740', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StayRequirementType740'): - if self.StayContext is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - outfile.write(' StayContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StayContext), input_name='StayContext')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Start), input_name='Start')), )) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.End), input_name='End')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StayRequirementType740', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StayContext', node) - if value is not None and 'StayContext' not in already_processed: - already_processed.add('StayContext') - self.StayContext = value - self.validate_StayContextType741(self.StayContext) # validate type StayContextType741 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - self.Start = value - self.validate_StartType742(self.Start) # validate type StartType742 - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - self.End = value - self.validate_EndType743(self.End) # validate type EndType743 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StayRequirementType740 - - -class AffiliationInfoType744(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Awards=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Awards = Awards - self.Awards_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AffiliationInfoType744) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AffiliationInfoType744.subclass: - return AffiliationInfoType744.subclass(*args_, **kwargs_) - else: - return AffiliationInfoType744(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Awards(self): - return self.Awards - def set_Awards(self, Awards): - self.Awards = Awards - def has__content(self): - if ( - self.Awards is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType744', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AffiliationInfoType744') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AffiliationInfoType744': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AffiliationInfoType744') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AffiliationInfoType744', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AffiliationInfoType744'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AffiliationInfoType744', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Awards is not None: - namespaceprefix_ = self.Awards_nsprefix_ + ':' if (UseCapturedNS_ and self.Awards_nsprefix_) else '' - self.Awards.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Awards', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Awards': - obj_ = AwardsType745.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Awards = obj_ - obj_.original_tagname_ = 'Awards' -# end class AffiliationInfoType744 - - -class AwardsType745(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Award=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Award is None: - self.Award = [] - else: - self.Award = Award - self.Award_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardsType745) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardsType745.subclass: - return AwardsType745.subclass(*args_, **kwargs_) - else: - return AwardsType745(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Award(self): - return self.Award - def set_Award(self, Award): - self.Award = Award - def add_Award(self, value): - self.Award.append(value) - def insert_Award_at(self, index, value): - self.Award.insert(index, value) - def replace_Award_at(self, index, value): - self.Award[index] = value - def has__content(self): - if ( - self.Award - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType745', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardsType745') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardsType745': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardsType745') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardsType745', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardsType745'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AwardsType745', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Award_ in self.Award: - namespaceprefix_ = self.Award_nsprefix_ + ':' if (UseCapturedNS_ and self.Award_nsprefix_) else '' - Award_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Award', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Award': - obj_ = AwardType746.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Award.append(obj_) - obj_.original_tagname_ = 'Award' -# end class AwardsType745 - - -class AwardType746(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Rating = _cast(float, Rating) - self.Rating_nsprefix_ = None - self.Provider = _cast(None, Provider) - self.Provider_nsprefix_ = None - self.RatingSymbol = _cast(None, RatingSymbol) - self.RatingSymbol_nsprefix_ = None - self.OfficialAppointmentInd = _cast(bool, OfficialAppointmentInd) - self.OfficialAppointmentInd_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AwardType746) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AwardType746.subclass: - return AwardType746.subclass(*args_, **kwargs_) - else: - return AwardType746(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rating(self): - return self.Rating - def set_Rating(self, Rating): - self.Rating = Rating - def get_Provider(self): - return self.Provider - def set_Provider(self, Provider): - self.Provider = Provider - def get_RatingSymbol(self): - return self.RatingSymbol - def set_RatingSymbol(self, RatingSymbol): - self.RatingSymbol = RatingSymbol - def get_OfficialAppointmentInd(self): - return self.OfficialAppointmentInd - def set_OfficialAppointmentInd(self, OfficialAppointmentInd): - self.OfficialAppointmentInd = OfficialAppointmentInd - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType746', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AwardType746') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AwardType746': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AwardType746') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AwardType746', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AwardType746'): - if self.Rating is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - outfile.write(' Rating="%s"' % self.gds_format_decimal(self.Rating, input_name='Rating')) - if self.Provider is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - outfile.write(' Provider=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Provider), input_name='Provider')), )) - if self.RatingSymbol is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - outfile.write(' RatingSymbol=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatingSymbol), input_name='RatingSymbol')), )) - if self.OfficialAppointmentInd is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - outfile.write(' OfficialAppointmentInd="%s"' % self.gds_format_boolean(self.OfficialAppointmentInd, input_name='OfficialAppointmentInd')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AwardType746', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Rating', node) - if value is not None and 'Rating' not in already_processed: - already_processed.add('Rating') - value = self.gds_parse_decimal(value, node, 'Rating') - self.Rating = value - self.validate_def_decimal_ge0(self.Rating) # validate type def_decimal_ge0 - value = find_attr_value_('Provider', node) - if value is not None and 'Provider' not in already_processed: - already_processed.add('Provider') - self.Provider = value - self.validate_def_nonempty_string(self.Provider) # validate type def_nonempty_string - value = find_attr_value_('RatingSymbol', node) - if value is not None and 'RatingSymbol' not in already_processed: - already_processed.add('RatingSymbol') - self.RatingSymbol = value - self.validate_def_nonempty_string(self.RatingSymbol) # validate type def_nonempty_string - value = find_attr_value_('OfficialAppointmentInd', node) - if value is not None and 'OfficialAppointmentInd' not in already_processed: - already_processed.add('OfficialAppointmentInd') - if value in ('true', '1'): - self.OfficialAppointmentInd = True - elif value in ('false', '0'): - self.OfficialAppointmentInd = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.OfficialAppointmentInd) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AwardType746 - - -class ContactInfosType747(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ContactInfo=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ContactInfo = ContactInfo - self.ContactInfo_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfosType747) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfosType747.subclass: - return ContactInfosType747.subclass(*args_, **kwargs_) - else: - return ContactInfosType747(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ContactInfo(self): - return self.ContactInfo - def set_ContactInfo(self, ContactInfo): - self.ContactInfo = ContactInfo - def has__content(self): - if ( - self.ContactInfo is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType747', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfosType747') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfosType747': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfosType747') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfosType747', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfosType747'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfosType747', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ContactInfo is not None: - namespaceprefix_ = self.ContactInfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactInfo_nsprefix_) else '' - self.ContactInfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ContactInfo', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ContactInfo': - obj_ = ContactInfoType748.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ContactInfo = obj_ - obj_.original_tagname_ = 'ContactInfo' -# end class ContactInfosType747 - - -class ContactInfoType748(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Location = _cast(None, Location) - self.Location_nsprefix_ = None - self.Addresses = Addresses - self.Addresses_nsprefix_ = None - self.Phones = Phones - self.Phones_nsprefix_ = None - self.Emails = Emails - self.Emails_nsprefix_ = None - self.URLs = URLs - self.URLs_nsprefix_ = None - self.CompanyName = CompanyName - self.CompanyName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ContactInfoType748) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ContactInfoType748.subclass: - return ContactInfoType748.subclass(*args_, **kwargs_) - else: - return ContactInfoType748(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Addresses(self): - return self.Addresses - def set_Addresses(self, Addresses): - self.Addresses = Addresses - def get_Phones(self): - return self.Phones - def set_Phones(self, Phones): - self.Phones = Phones - def get_Emails(self): - return self.Emails - def set_Emails(self, Emails): - self.Emails = Emails - def get_URLs(self): - return self.URLs - def set_URLs(self, URLs): - self.URLs = URLs - def get_CompanyName(self): - return self.CompanyName - def set_CompanyName(self, CompanyName): - self.CompanyName = CompanyName - def get_Location(self): - return self.Location - def set_Location(self, Location): - self.Location = Location - def validate_LocationType763(self, value): - # Validate type LocationType763, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['6'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on LocationType763' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.Addresses is not None or - self.Phones is not None or - self.Emails is not None or - self.URLs is not None or - self.CompanyName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType748', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ContactInfoType748') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ContactInfoType748': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ContactInfoType748') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ContactInfoType748', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ContactInfoType748'): - if self.Location is not None and 'Location' not in already_processed: - already_processed.add('Location') - outfile.write(' Location=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Location), input_name='Location')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ContactInfoType748', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Addresses is not None: - namespaceprefix_ = self.Addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.Addresses_nsprefix_) else '' - self.Addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Addresses', pretty_print=pretty_print) - if self.Phones is not None: - namespaceprefix_ = self.Phones_nsprefix_ + ':' if (UseCapturedNS_ and self.Phones_nsprefix_) else '' - self.Phones.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phones', pretty_print=pretty_print) - if self.Emails is not None: - namespaceprefix_ = self.Emails_nsprefix_ + ':' if (UseCapturedNS_ and self.Emails_nsprefix_) else '' - self.Emails.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Emails', pretty_print=pretty_print) - if self.URLs is not None: - namespaceprefix_ = self.URLs_nsprefix_ + ':' if (UseCapturedNS_ and self.URLs_nsprefix_) else '' - self.URLs.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URLs', pretty_print=pretty_print) - if self.CompanyName is not None: - namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' - self.CompanyName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CompanyName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Location', node) - if value is not None and 'Location' not in already_processed: - already_processed.add('Location') - self.Location = value - self.validate_LocationType763(self.Location) # validate type LocationType763 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Addresses': - obj_ = AddressesType749.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Addresses = obj_ - obj_.original_tagname_ = 'Addresses' - elif nodeName_ == 'Phones': - obj_ = PhonesType755.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phones = obj_ - obj_.original_tagname_ = 'Phones' - elif nodeName_ == 'Emails': - obj_ = EmailsType758.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Emails = obj_ - obj_.original_tagname_ = 'Emails' - elif nodeName_ == 'URLs': - obj_ = URLsType760.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URLs = obj_ - obj_.original_tagname_ = 'URLs' - elif nodeName_ == 'CompanyName': - obj_ = CompanyNameType762.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CompanyName = obj_ - obj_.original_tagname_ = 'CompanyName' -# end class ContactInfoType748 - - -class AddressesType749(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Address=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Address is None: - self.Address = [] - else: - self.Address = Address - self.Address_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressesType749) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressesType749.subclass: - return AddressesType749.subclass(*args_, **kwargs_) - else: - return AddressesType749(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Address(self): - return self.Address - def set_Address(self, Address): - self.Address = Address - def add_Address(self, value): - self.Address.append(value) - def insert_Address_at(self, index, value): - self.Address.insert(index, value) - def replace_Address_at(self, index, value): - self.Address[index] = value - def has__content(self): - if ( - self.Address - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType749', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressesType749') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressesType749': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressesType749') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressesType749', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressesType749'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressesType749', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Address_ in self.Address: - namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' - Address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Address': - obj_ = AddressType750.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Address.append(obj_) - obj_.original_tagname_ = 'Address' -# end class AddressesType749 - - -class AddressType750(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.AddressLine = AddressLine - self.validate_StringLength1to255(self.AddressLine) - self.AddressLine_nsprefix_ = None - self.CityName = CityName - self.validate_StringLength1to64(self.CityName) - self.CityName_nsprefix_ = None - self.PostalCode = PostalCode - self.validate_StringLength1to16(self.PostalCode) - self.PostalCode_nsprefix_ = None - self.StateProv = StateProv - self.StateProv_nsprefix_ = None - self.CountryName = CountryName - self.CountryName_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AddressType750) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AddressType750.subclass: - return AddressType750.subclass(*args_, **kwargs_) - else: - return AddressType750(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AddressLine(self): - return self.AddressLine - def set_AddressLine(self, AddressLine): - self.AddressLine = AddressLine - def get_CityName(self): - return self.CityName - def set_CityName(self, CityName): - self.CityName = CityName - def get_PostalCode(self): - return self.PostalCode - def set_PostalCode(self, PostalCode): - self.PostalCode = PostalCode - def get_StateProv(self): - return self.StateProv - def set_StateProv(self, StateProv): - self.StateProv = StateProv - def get_CountryName(self): - return self.CountryName - def set_CountryName(self, CountryName): - self.CountryName = CountryName - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def validate_StringLength1to255(self, value): - result = True - # Validate type StringLength1to255, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 255: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to255' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to64(self, value): - result = True - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_StringLength1to16(self, value): - result = True - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_LanguageType754(self, value): - # Validate type LanguageType754, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType754_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType754_patterns_, )) - validate_LanguageType754_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - self.AddressLine is not None or - self.CityName is not None or - self.PostalCode is not None or - self.StateProv is not None or - self.CountryName is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType750', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType750') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AddressType750': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType750') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType750', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType750'): - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AddressType750', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.AddressLine is not None: - namespaceprefix_ = self.AddressLine_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sAddressLine>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine), input_name='AddressLine')), namespaceprefix_ , eol_)) - if self.CityName is not None: - namespaceprefix_ = self.CityName_nsprefix_ + ':' if (UseCapturedNS_ and self.CityName_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sCityName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CityName), input_name='CityName')), namespaceprefix_ , eol_)) - if self.PostalCode is not None: - namespaceprefix_ = self.PostalCode_nsprefix_ + ':' if (UseCapturedNS_ and self.PostalCode_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sPostalCode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PostalCode), input_name='PostalCode')), namespaceprefix_ , eol_)) - if self.StateProv is not None: - namespaceprefix_ = self.StateProv_nsprefix_ + ':' if (UseCapturedNS_ and self.StateProv_nsprefix_) else '' - self.StateProv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='StateProv', pretty_print=pretty_print) - if self.CountryName is not None: - namespaceprefix_ = self.CountryName_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryName_nsprefix_) else '' - self.CountryName.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CountryName', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType754(self.Language) # validate type LanguageType754 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AddressLine': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'AddressLine') - value_ = self.gds_validate_string(value_, node, 'AddressLine') - self.AddressLine = value_ - self.AddressLine_nsprefix_ = child_.prefix - # validate type StringLength1to255 - self.validate_StringLength1to255(self.AddressLine) - elif nodeName_ == 'CityName': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'CityName') - value_ = self.gds_validate_string(value_, node, 'CityName') - self.CityName = value_ - self.CityName_nsprefix_ = child_.prefix - # validate type StringLength1to64 - self.validate_StringLength1to64(self.CityName) - elif nodeName_ == 'PostalCode': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'PostalCode') - value_ = self.gds_validate_string(value_, node, 'PostalCode') - self.PostalCode = value_ - self.PostalCode_nsprefix_ = child_.prefix - # validate type StringLength1to16 - self.validate_StringLength1to16(self.PostalCode) - elif nodeName_ == 'StateProv': - obj_ = StateProvType751.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.StateProv = obj_ - obj_.original_tagname_ = 'StateProv' - elif nodeName_ == 'CountryName': - obj_ = CountryNameType752.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.CountryName = obj_ - obj_.original_tagname_ = 'CountryName' -# end class AddressType750 - - -class StateProvType751(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, StateCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.StateCode = _cast(None, StateCode) - self.StateCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, StateProvType751) - if subclass is not None: - return subclass(*args_, **kwargs_) - if StateProvType751.subclass: - return StateProvType751.subclass(*args_, **kwargs_) - else: - return StateProvType751(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_StateCode(self): - return self.StateCode - def set_StateCode(self, StateCode): - self.StateCode = StateCode - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType751', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('StateProvType751') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'StateProvType751': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='StateProvType751') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='StateProvType751', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='StateProvType751'): - if self.StateCode is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - outfile.write(' StateCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.StateCode), input_name='StateCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='StateProvType751', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('StateCode', node) - if value is not None and 'StateCode' not in already_processed: - already_processed.add('StateCode') - self.StateCode = value - self.validate_def_nonempty_string(self.StateCode) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class StateProvType751 - - -class CountryNameType752(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Code=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CountryNameType752) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CountryNameType752.subclass: - return CountryNameType752.subclass(*args_, **kwargs_) - else: - return CountryNameType752(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def validate_CodeType753(self, value): - # Validate type CodeType753, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_CodeType753_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_CodeType753_patterns_, )) - validate_CodeType753_patterns_ = [['^([A-Z][A-Z])$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType752', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CountryNameType752') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CountryNameType752': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CountryNameType752') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CountryNameType752', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CountryNameType752'): - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CountryNameType752', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_CodeType753(self.Code) # validate type CodeType753 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CountryNameType752 - - -class PhonesType755(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Phone=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Phone is None: - self.Phone = [] - else: - self.Phone = Phone - self.Phone_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhonesType755) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhonesType755.subclass: - return PhonesType755.subclass(*args_, **kwargs_) - else: - return PhonesType755(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Phone(self): - return self.Phone - def set_Phone(self, Phone): - self.Phone = Phone - def add_Phone(self, value): - self.Phone.append(value) - def insert_Phone_at(self, index, value): - self.Phone.insert(index, value) - def replace_Phone_at(self, index, value): - self.Phone[index] = value - def has__content(self): - if ( - self.Phone - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType755', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhonesType755') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhonesType755': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhonesType755') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhonesType755', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhonesType755'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='PhonesType755', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Phone_ in self.Phone: - namespaceprefix_ = self.Phone_nsprefix_ + ':' if (UseCapturedNS_ and self.Phone_nsprefix_) else '' - Phone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Phone', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Phone': - obj_ = PhoneType756.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Phone.append(obj_) - obj_.original_tagname_ = 'Phone' -# end class PhonesType755 - - -class PhoneType756(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, PhoneTechType=None, PhoneNumber=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.PhoneTechType = _cast(None, PhoneTechType) - self.PhoneTechType_nsprefix_ = None - self.PhoneNumber = _cast(None, PhoneNumber) - self.PhoneNumber_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PhoneType756) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PhoneType756.subclass: - return PhoneType756.subclass(*args_, **kwargs_) - else: - return PhoneType756(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PhoneTechType(self): - return self.PhoneTechType - def set_PhoneTechType(self, PhoneTechType): - self.PhoneTechType = PhoneTechType - def get_PhoneNumber(self): - return self.PhoneNumber - def set_PhoneNumber(self, PhoneNumber): - self.PhoneNumber = PhoneNumber - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_PhoneNumberType757(self, value): - # Validate type PhoneNumberType757, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_PhoneNumberType757_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_PhoneNumberType757_patterns_, )) - validate_PhoneNumberType757_patterns_ = [['^(\\+?[0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType756', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PhoneType756') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PhoneType756': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PhoneType756') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PhoneType756', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PhoneType756'): - if self.PhoneTechType is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - outfile.write(' PhoneTechType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneTechType), input_name='PhoneTechType')), )) - if self.PhoneNumber is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - outfile.write(' PhoneNumber=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.PhoneNumber), input_name='PhoneNumber')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PhoneType756', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('PhoneTechType', node) - if value is not None and 'PhoneTechType' not in already_processed: - already_processed.add('PhoneTechType') - self.PhoneTechType = value - self.validate_def_nonempty_string(self.PhoneTechType) # validate type def_nonempty_string - value = find_attr_value_('PhoneNumber', node) - if value is not None and 'PhoneNumber' not in already_processed: - already_processed.add('PhoneNumber') - self.PhoneNumber = value - self.validate_PhoneNumberType757(self.PhoneNumber) # validate type PhoneNumberType757 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PhoneType756 - - -class EmailsType758(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Email=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Email is None: - self.Email = [] - else: - self.Email = Email - self.Email_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailsType758) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailsType758.subclass: - return EmailsType758.subclass(*args_, **kwargs_) - else: - return EmailsType758(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Email(self): - return self.Email - def set_Email(self, Email): - self.Email = Email - def add_Email(self, value): - self.Email.append(value) - def insert_Email_at(self, index, value): - self.Email.insert(index, value) - def replace_Email_at(self, index, value): - self.Email[index] = value - def has__content(self): - if ( - self.Email - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType758', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailsType758') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailsType758': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailsType758') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EmailsType758', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailsType758'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='EmailsType758', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Email_ in self.Email: - namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' - Email_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Email', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Email': - obj_ = EmailType759.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Email.append(obj_) - obj_.original_tagname_ = 'Email' -# end class EmailsType758 - - -class EmailType759(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, EmailType=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.EmailType = _cast(None, EmailType) - self.EmailType_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, EmailType759) - if subclass is not None: - return subclass(*args_, **kwargs_) - if EmailType759.subclass: - return EmailType759.subclass(*args_, **kwargs_) - else: - return EmailType759(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_EmailType(self): - return self.EmailType - def set_EmailType(self, EmailType): - self.EmailType = EmailType - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_nonempty_string(self, value): - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType759', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('EmailType759') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'EmailType759': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EmailType759') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EmailType759'): - if self.EmailType is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - outfile.write(' EmailType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.EmailType), input_name='EmailType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EmailType759', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('EmailType', node) - if value is not None and 'EmailType' not in already_processed: - already_processed.add('EmailType') - self.EmailType = value - self.validate_def_nonempty_string(self.EmailType) # validate type def_nonempty_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class EmailType759 - - -class URLsType760(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLsType760) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLsType760.subclass: - return URLsType760.subclass(*args_, **kwargs_) - else: - return URLsType760(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def has__content(self): - if ( - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType760', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLsType760') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLsType760': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLsType760') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='URLsType760', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLsType760'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='URLsType760', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - URL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='URL', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'URL': - obj_ = URLType761.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.URL.append(obj_) - obj_.original_tagname_ = 'URL' -# end class URLsType760 - - -class URLType761(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ID=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ID = _cast(None, ID) - self.ID_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, URLType761) - if subclass is not None: - return subclass(*args_, **kwargs_) - if URLType761.subclass: - return URLType761.subclass(*args_, **kwargs_) - else: - return URLType761(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ID(self): - return self.ID - def set_ID(self, ID): - self.ID = ID - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_uppercase_string(self, value): - # Validate type def_uppercase_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_uppercase_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_uppercase_string_patterns_, )) - validate_def_uppercase_string_patterns_ = [['^([A-Z]+)$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType761', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('URLType761') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'URLType761': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='URLType761') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='URLType761'): - if self.ID is not None and 'ID' not in already_processed: - already_processed.add('ID') - outfile.write(' ID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ID), input_name='ID')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='URLType761', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ID', node) - if value is not None and 'ID' not in already_processed: - already_processed.add('ID') - self.ID = value - self.validate_def_uppercase_string(self.ID) # validate type def_uppercase_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class URLType761 - - -class CompanyNameType762(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, CompanyNameType762) - if subclass is not None: - return subclass(*args_, **kwargs_) - if CompanyNameType762.subclass: - return CompanyNameType762.subclass(*args_, **kwargs_) - else: - return CompanyNameType762(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_any_string(self, value): - result = True - # Validate type def_any_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_any_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType762', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('CompanyNameType762') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'CompanyNameType762': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CompanyNameType762') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CompanyNameType762'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CompanyNameType762', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class CompanyNameType762 - - -class RatePlansType764(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.HotelCode = _cast(None, HotelCode) - self.HotelCode_nsprefix_ = None - self.HotelName = _cast(None, HotelName) - self.HotelName_nsprefix_ = None - if RatePlan is None: - self.RatePlan = [] - else: - self.RatePlan = RatePlan - self.RatePlan_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlansType764) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlansType764.subclass: - return RatePlansType764.subclass(*args_, **kwargs_) - else: - return RatePlansType764(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_RatePlan(self): - return self.RatePlan - def set_RatePlan(self, RatePlan): - self.RatePlan = RatePlan - def add_RatePlan(self, value): - self.RatePlan.append(value) - def insert_RatePlan_at(self, index, value): - self.RatePlan.insert(index, value) - def replace_RatePlan_at(self, index, value): - self.RatePlan[index] = value - def get_HotelCode(self): - return self.HotelCode - def set_HotelCode(self, HotelCode): - self.HotelCode = HotelCode - def get_HotelName(self): - return self.HotelName - def set_HotelName(self, HotelName): - self.HotelName = HotelName - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to128(self, value): - # Validate type StringLength1to128, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 128: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to128' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.RatePlan - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType764', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlansType764') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlansType764': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlansType764') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlansType764', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlansType764'): - if self.HotelCode is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - outfile.write(' HotelCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelCode), input_name='HotelCode')), )) - if self.HotelName is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - outfile.write(' HotelName=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.HotelName), input_name='HotelName')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlansType764', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for RatePlan_ in self.RatePlan: - namespaceprefix_ = self.RatePlan_nsprefix_ + ':' if (UseCapturedNS_ and self.RatePlan_nsprefix_) else '' - RatePlan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RatePlan', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('HotelCode', node) - if value is not None and 'HotelCode' not in already_processed: - already_processed.add('HotelCode') - self.HotelCode = value - self.validate_StringLength1to16(self.HotelCode) # validate type StringLength1to16 - value = find_attr_value_('HotelName', node) - if value is not None and 'HotelName' not in already_processed: - already_processed.add('HotelName') - self.HotelName = value - self.validate_StringLength1to128(self.HotelName) # validate type StringLength1to128 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'RatePlan': - obj_ = RatePlanType765.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RatePlan.append(obj_) - obj_.original_tagname_ = 'RatePlan' -# end class RatePlansType764 - - -class RatePlanType765(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RatePlanNotifType = _cast(None, RatePlanNotifType) - self.RatePlanNotifType_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.RatePlanCode = _cast(None, RatePlanCode) - self.RatePlanCode_nsprefix_ = None - self.RatePlanType = _cast(None, RatePlanType) - self.RatePlanType_nsprefix_ = None - self.RatePlanCategory = _cast(None, RatePlanCategory) - self.RatePlanCategory_nsprefix_ = None - self.RatePlanID = _cast(None, RatePlanID) - self.RatePlanID_nsprefix_ = None - self.RatePlanQualifier = _cast(bool, RatePlanQualifier) - self.RatePlanQualifier_nsprefix_ = None - self.BookingRules = BookingRules - self.BookingRules_nsprefix_ = None - self.Rates = Rates - self.Rates_nsprefix_ = None - self.Supplements = Supplements - self.Supplements_nsprefix_ = None - self.Offers = Offers - self.Offers_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatePlanType765) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatePlanType765.subclass: - return RatePlanType765.subclass(*args_, **kwargs_) - else: - return RatePlanType765(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRules(self): - return self.BookingRules - def set_BookingRules(self, BookingRules): - self.BookingRules = BookingRules - def get_Rates(self): - return self.Rates - def set_Rates(self, Rates): - self.Rates = Rates - def get_Supplements(self): - return self.Supplements - def set_Supplements(self, Supplements): - self.Supplements = Supplements - def get_Offers(self): - return self.Offers - def set_Offers(self, Offers): - self.Offers = Offers - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RatePlanNotifType(self): - return self.RatePlanNotifType - def set_RatePlanNotifType(self, RatePlanNotifType): - self.RatePlanNotifType = RatePlanNotifType - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_RatePlanCode(self): - return self.RatePlanCode - def set_RatePlanCode(self, RatePlanCode): - self.RatePlanCode = RatePlanCode - def get_RatePlanType(self): - return self.RatePlanType - def set_RatePlanType(self, RatePlanType): - self.RatePlanType = RatePlanType - def get_RatePlanCategory(self): - return self.RatePlanCategory - def set_RatePlanCategory(self, RatePlanCategory): - self.RatePlanCategory = RatePlanCategory - def get_RatePlanID(self): - return self.RatePlanID - def set_RatePlanID(self, RatePlanID): - self.RatePlanID = RatePlanID - def get_RatePlanQualifier(self): - return self.RatePlanQualifier - def set_RatePlanQualifier(self, RatePlanQualifier): - self.RatePlanQualifier = RatePlanQualifier - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RatePlanNotifTypeType833(self, value): - # Validate type RatePlanNotifTypeType833, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Overlay', 'New', 'Full', 'Remove'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanNotifTypeType833' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_RatePlanTypeType834(self, value): - # Validate type RatePlanTypeType834, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['12'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RatePlanTypeType834' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.BookingRules is not None or - self.Rates is not None or - self.Supplements is not None or - self.Offers is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType765', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatePlanType765') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatePlanType765': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatePlanType765') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatePlanType765', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatePlanType765'): - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RatePlanNotifType is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - outfile.write(' RatePlanNotifType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanNotifType), input_name='RatePlanNotifType')), )) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.RatePlanCode is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - outfile.write(' RatePlanCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCode), input_name='RatePlanCode')), )) - if self.RatePlanType is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - outfile.write(' RatePlanType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanType), input_name='RatePlanType')), )) - if self.RatePlanCategory is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - outfile.write(' RatePlanCategory=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanCategory), input_name='RatePlanCategory')), )) - if self.RatePlanID is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - outfile.write(' RatePlanID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RatePlanID), input_name='RatePlanID')), )) - if self.RatePlanQualifier is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - outfile.write(' RatePlanQualifier="%s"' % self.gds_format_boolean(self.RatePlanQualifier, input_name='RatePlanQualifier')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatePlanType765', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BookingRules is not None: - namespaceprefix_ = self.BookingRules_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRules_nsprefix_) else '' - self.BookingRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRules', pretty_print=pretty_print) - if self.Rates is not None: - namespaceprefix_ = self.Rates_nsprefix_ + ':' if (UseCapturedNS_ and self.Rates_nsprefix_) else '' - self.Rates.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rates', pretty_print=pretty_print) - if self.Supplements is not None: - namespaceprefix_ = self.Supplements_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplements_nsprefix_) else '' - self.Supplements.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplements', pretty_print=pretty_print) - if self.Offers is not None: - namespaceprefix_ = self.Offers_nsprefix_ + ':' if (UseCapturedNS_ and self.Offers_nsprefix_) else '' - self.Offers.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offers', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RatePlanNotifType', node) - if value is not None and 'RatePlanNotifType' not in already_processed: - already_processed.add('RatePlanNotifType') - self.RatePlanNotifType = value - self.validate_RatePlanNotifTypeType833(self.RatePlanNotifType) # validate type RatePlanNotifTypeType833 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('RatePlanCode', node) - if value is not None and 'RatePlanCode' not in already_processed: - already_processed.add('RatePlanCode') - self.RatePlanCode = value - self.validate_StringLength1to64(self.RatePlanCode) # validate type StringLength1to64 - value = find_attr_value_('RatePlanType', node) - if value is not None and 'RatePlanType' not in already_processed: - already_processed.add('RatePlanType') - self.RatePlanType = value - self.validate_RatePlanTypeType834(self.RatePlanType) # validate type RatePlanTypeType834 - value = find_attr_value_('RatePlanCategory', node) - if value is not None and 'RatePlanCategory' not in already_processed: - already_processed.add('RatePlanCategory') - self.RatePlanCategory = value - self.validate_StringLength1to64(self.RatePlanCategory) # validate type StringLength1to64 - value = find_attr_value_('RatePlanID', node) - if value is not None and 'RatePlanID' not in already_processed: - already_processed.add('RatePlanID') - self.RatePlanID = value - self.validate_StringLength1to64(self.RatePlanID) # validate type StringLength1to64 - value = find_attr_value_('RatePlanQualifier', node) - if value is not None and 'RatePlanQualifier' not in already_processed: - already_processed.add('RatePlanQualifier') - if value in ('true', '1'): - self.RatePlanQualifier = True - elif value in ('false', '0'): - self.RatePlanQualifier = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.RatePlanQualifier) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRules': - obj_ = BookingRulesType766.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRules = obj_ - obj_.original_tagname_ = 'BookingRules' - elif nodeName_ == 'Rates': - obj_ = RatesType779.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rates = obj_ - obj_.original_tagname_ = 'Rates' - elif nodeName_ == 'Supplements': - obj_ = SupplementsType795.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplements = obj_ - obj_.original_tagname_ = 'Supplements' - elif nodeName_ == 'Offers': - obj_ = OffersType807.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offers = obj_ - obj_.original_tagname_ = 'Offers' - elif nodeName_ == 'Description': - obj_ = DescriptionType828.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class RatePlanType765 - - -class BookingRulesType766(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BookingRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BookingRule is None: - self.BookingRule = [] - else: - self.BookingRule = BookingRule - self.BookingRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRulesType766) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRulesType766.subclass: - return BookingRulesType766.subclass(*args_, **kwargs_) - else: - return BookingRulesType766(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BookingRule(self): - return self.BookingRule - def set_BookingRule(self, BookingRule): - self.BookingRule = BookingRule - def add_BookingRule(self, value): - self.BookingRule.append(value) - def insert_BookingRule_at(self, index, value): - self.BookingRule.insert(index, value) - def replace_BookingRule_at(self, index, value): - self.BookingRule[index] = value - def has__content(self): - if ( - self.BookingRule - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType766', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRulesType766') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRulesType766': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRulesType766') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRulesType766', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRulesType766'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRulesType766', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BookingRule_ in self.BookingRule: - namespaceprefix_ = self.BookingRule_nsprefix_ + ':' if (UseCapturedNS_ and self.BookingRule_nsprefix_) else '' - BookingRule_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BookingRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BookingRule': - obj_ = BookingRuleType767.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BookingRule.append(obj_) - obj_.original_tagname_ = 'BookingRule' -# end class BookingRulesType766 - - -class BookingRuleType767(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.CodeContext = _cast(None, CodeContext) - self.CodeContext_nsprefix_ = None - self.Code = _cast(None, Code) - self.Code_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - self.RestrictionStatus = RestrictionStatus - self.RestrictionStatus_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BookingRuleType767) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BookingRuleType767.subclass: - return BookingRuleType767.subclass(*args_, **kwargs_) - else: - return BookingRuleType767(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_RestrictionStatus(self): - return self.RestrictionStatus - def set_RestrictionStatus(self, RestrictionStatus): - self.RestrictionStatus = RestrictionStatus - def get_CodeContext(self): - return self.CodeContext - def set_CodeContext(self, CodeContext): - self.CodeContext = CodeContext - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_CodeContextType778(self, value): - # Validate type CodeContextType778, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on CodeContextType778' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.RestrictionStatus is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType767', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BookingRuleType767') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BookingRuleType767': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BookingRuleType767') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BookingRuleType767', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BookingRuleType767'): - if self.CodeContext is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - outfile.write(' CodeContext=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CodeContext), input_name='CodeContext')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Code), input_name='Code')), )) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BookingRuleType767', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - if self.RestrictionStatus is not None: - namespaceprefix_ = self.RestrictionStatus_nsprefix_ + ':' if (UseCapturedNS_ and self.RestrictionStatus_nsprefix_) else '' - self.RestrictionStatus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RestrictionStatus', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('CodeContext', node) - if value is not None and 'CodeContext' not in already_processed: - already_processed.add('CodeContext') - self.CodeContext = value - self.validate_CodeContextType778(self.CodeContext) # validate type CodeContextType778 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = value - self.validate_def_invTypeCode_string(self.Code) # validate type def_invTypeCode_string - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType768.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType772.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'RestrictionStatus': - obj_ = RestrictionStatusType775.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RestrictionStatus = obj_ - obj_.original_tagname_ = 'RestrictionStatus' -# end class BookingRuleType767 - - -class LengthsOfStayType768(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType768) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType768.subclass: - return LengthsOfStayType768.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType768(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType768', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType768') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType768': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType768') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType768', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType768'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType768', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType769.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType768 - - -class LengthOfStayType769(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType769) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType769.subclass: - return LengthOfStayType769.subclass(*args_, **kwargs_) - else: - return LengthOfStayType769(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType770(self, value): - # Validate type TimeUnitType770, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType770' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType771(self, value): - # Validate type MinMaxMessageTypeType771, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetForwardMinStay', 'SetMaxLOS', 'SetForwardMaxStay'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType771' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType769', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType769') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType769': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType769') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType769', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType769'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType769', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType770(self.TimeUnit) # validate type TimeUnitType770 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType771(self.MinMaxMessageType) # validate type MinMaxMessageTypeType771 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType769 - - -class DOW_RestrictionsType772(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType772) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType772.subclass: - return DOW_RestrictionsType772.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType772(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType772', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType772') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType772': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType772') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType772', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType772'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType772', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType773.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType774.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType772 - - -class ArrivalDaysOfWeekType773(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType773) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType773.subclass: - return ArrivalDaysOfWeekType773.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType773(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType773', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType773') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType773': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType773') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType773', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType773'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType773', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType773 - - -class DepartureDaysOfWeekType774(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType774) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType774.subclass: - return DepartureDaysOfWeekType774.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType774(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType774', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType774') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType774': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType774') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType774', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType774'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType774', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType774 - - -class RestrictionStatusType775(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Restriction=None, Status=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Restriction = _cast(None, Restriction) - self.Restriction_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RestrictionStatusType775) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RestrictionStatusType775.subclass: - return RestrictionStatusType775.subclass(*args_, **kwargs_) - else: - return RestrictionStatusType775(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Restriction(self): - return self.Restriction - def set_Restriction(self, Restriction): - self.Restriction = Restriction - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def validate_RestrictionType776(self, value): - # Validate type RestrictionType776, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Master'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RestrictionType776' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StatusType777(self, value): - # Validate type StatusType777, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Open', 'Close'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on StatusType777' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType775', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RestrictionStatusType775') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RestrictionStatusType775': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RestrictionStatusType775') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RestrictionStatusType775', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RestrictionStatusType775'): - if self.Restriction is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - outfile.write(' Restriction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Restriction), input_name='Restriction')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='RestrictionStatusType775', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Restriction', node) - if value is not None and 'Restriction' not in already_processed: - already_processed.add('Restriction') - self.Restriction = value - self.validate_RestrictionType776(self.Restriction) # validate type RestrictionType776 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_StatusType777(self.Status) # validate type StatusType777 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class RestrictionStatusType775 - - -class RatesType779(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Rate=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Rate is None: - self.Rate = [] - else: - self.Rate = Rate - self.Rate_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RatesType779) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RatesType779.subclass: - return RatesType779.subclass(*args_, **kwargs_) - else: - return RatesType779(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Rate(self): - return self.Rate - def set_Rate(self, Rate): - self.Rate = Rate - def add_Rate(self, value): - self.Rate.append(value) - def insert_Rate_at(self, index, value): - self.Rate.insert(index, value) - def replace_Rate_at(self, index, value): - self.Rate[index] = value - def has__content(self): - if ( - self.Rate - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType779', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RatesType779') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RatesType779': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RatesType779') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RatesType779', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RatesType779'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RatesType779', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Rate_ in self.Rate: - namespaceprefix_ = self.Rate_nsprefix_ + ':' if (UseCapturedNS_ and self.Rate_nsprefix_) else '' - Rate_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rate', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Rate': - obj_ = RateType780.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Rate.append(obj_) - obj_.original_tagname_ = 'Rate' -# end class RatesType779 - - -class RateType780(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinGuestApplicable = _cast(int, MinGuestApplicable) - self.MinGuestApplicable_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.RateTimeUnit = _cast(None, RateTimeUnit) - self.RateTimeUnit_nsprefix_ = None - self.UnitMultiplier = _cast(int, UnitMultiplier) - self.UnitMultiplier_nsprefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - self.Duration = _cast(None, Duration) - self.Duration_nsprefix_ = None - self.InvTypeCode = _cast(None, InvTypeCode) - self.InvTypeCode_nsprefix_ = None - self.BaseByGuestAmts = BaseByGuestAmts - self.BaseByGuestAmts_nsprefix_ = None - self.AdditionalGuestAmounts = AdditionalGuestAmounts - self.AdditionalGuestAmounts_nsprefix_ = None - self.RateDescription = RateDescription - self.RateDescription_nsprefix_ = None - self.MealsIncluded = MealsIncluded - self.MealsIncluded_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateType780) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateType780.subclass: - return RateType780.subclass(*args_, **kwargs_) - else: - return RateType780(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmts(self): - return self.BaseByGuestAmts - def set_BaseByGuestAmts(self, BaseByGuestAmts): - self.BaseByGuestAmts = BaseByGuestAmts - def get_AdditionalGuestAmounts(self): - return self.AdditionalGuestAmounts - def set_AdditionalGuestAmounts(self, AdditionalGuestAmounts): - self.AdditionalGuestAmounts = AdditionalGuestAmounts - def get_RateDescription(self): - return self.RateDescription - def set_RateDescription(self, RateDescription): - self.RateDescription = RateDescription - def get_MealsIncluded(self): - return self.MealsIncluded - def set_MealsIncluded(self, MealsIncluded): - self.MealsIncluded = MealsIncluded - def get_MinGuestApplicable(self): - return self.MinGuestApplicable - def set_MinGuestApplicable(self, MinGuestApplicable): - self.MinGuestApplicable = MinGuestApplicable - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def get_RateTimeUnit(self): - return self.RateTimeUnit - def set_RateTimeUnit(self, RateTimeUnit): - self.RateTimeUnit = RateTimeUnit - def get_UnitMultiplier(self): - return self.UnitMultiplier - def set_UnitMultiplier(self, UnitMultiplier): - self.UnitMultiplier = UnitMultiplier - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def get_Duration(self): - return self.Duration - def set_Duration(self, Duration): - self.Duration = Duration - def get_InvTypeCode(self): - return self.InvTypeCode - def set_InvTypeCode(self, InvTypeCode): - self.InvTypeCode = InvTypeCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def validate_RateTimeUnitType793(self, value): - # Validate type RateTimeUnitType793, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on RateTimeUnitType793' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_DurationType794(self, value): - # Validate type DurationType794, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DurationType794_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DurationType794_patterns_, )) - validate_DurationType794_patterns_ = [['^(P[0-9]+N)$']] - def validate_def_invTypeCode_string(self, value): - # Validate type def_invTypeCode_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 8: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_invTypeCode_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.BaseByGuestAmts is not None or - self.AdditionalGuestAmounts is not None or - self.RateDescription is not None or - self.MealsIncluded is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType780', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateType780') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateType780': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateType780') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateType780', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateType780'): - if self.MinGuestApplicable is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - outfile.write(' MinGuestApplicable="%s"' % self.gds_format_integer(self.MinGuestApplicable, input_name='MinGuestApplicable')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - if self.RateTimeUnit is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - outfile.write(' RateTimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RateTimeUnit), input_name='RateTimeUnit')), )) - if self.UnitMultiplier is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - outfile.write(' UnitMultiplier="%s"' % self.gds_format_integer(self.UnitMultiplier, input_name='UnitMultiplier')) - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - if self.Duration is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - outfile.write(' Duration=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Duration), input_name='Duration')), )) - if self.InvTypeCode is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - outfile.write(' InvTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvTypeCode), input_name='InvTypeCode')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateType780', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.BaseByGuestAmts is not None: - namespaceprefix_ = self.BaseByGuestAmts_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmts_nsprefix_) else '' - self.BaseByGuestAmts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmts', pretty_print=pretty_print) - if self.AdditionalGuestAmounts is not None: - namespaceprefix_ = self.AdditionalGuestAmounts_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmounts_nsprefix_) else '' - self.AdditionalGuestAmounts.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmounts', pretty_print=pretty_print) - if self.RateDescription is not None: - namespaceprefix_ = self.RateDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.RateDescription_nsprefix_) else '' - self.RateDescription.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RateDescription', pretty_print=pretty_print) - if self.MealsIncluded is not None: - namespaceprefix_ = self.MealsIncluded_nsprefix_ + ':' if (UseCapturedNS_ and self.MealsIncluded_nsprefix_) else '' - self.MealsIncluded.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MealsIncluded', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinGuestApplicable', node) - if value is not None and 'MinGuestApplicable' not in already_processed: - already_processed.add('MinGuestApplicable') - self.MinGuestApplicable = self.gds_parse_integer(value, node, 'MinGuestApplicable') - if self.MinGuestApplicable <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinGuestApplicable) # validate type def_int_gt0 - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - value = find_attr_value_('RateTimeUnit', node) - if value is not None and 'RateTimeUnit' not in already_processed: - already_processed.add('RateTimeUnit') - self.RateTimeUnit = value - self.validate_RateTimeUnitType793(self.RateTimeUnit) # validate type RateTimeUnitType793 - value = find_attr_value_('UnitMultiplier', node) - if value is not None and 'UnitMultiplier' not in already_processed: - already_processed.add('UnitMultiplier') - self.UnitMultiplier = self.gds_parse_integer(value, node, 'UnitMultiplier') - if self.UnitMultiplier <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.UnitMultiplier) # validate type def_int_gt0 - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - value = find_attr_value_('Duration', node) - if value is not None and 'Duration' not in already_processed: - already_processed.add('Duration') - self.Duration = value - self.validate_DurationType794(self.Duration) # validate type DurationType794 - value = find_attr_value_('InvTypeCode', node) - if value is not None and 'InvTypeCode' not in already_processed: - already_processed.add('InvTypeCode') - self.InvTypeCode = value - self.validate_def_invTypeCode_string(self.InvTypeCode) # validate type def_invTypeCode_string - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmts': - obj_ = BaseByGuestAmtsType781.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmts = obj_ - obj_.original_tagname_ = 'BaseByGuestAmts' - elif nodeName_ == 'AdditionalGuestAmounts': - obj_ = AdditionalGuestAmountsType784.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmounts = obj_ - obj_.original_tagname_ = 'AdditionalGuestAmounts' - elif nodeName_ == 'RateDescription': - obj_ = RateDescriptionType786.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.RateDescription = obj_ - obj_.original_tagname_ = 'RateDescription' - elif nodeName_ == 'MealsIncluded': - obj_ = MealsIncludedType790.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.MealsIncluded = obj_ - obj_.original_tagname_ = 'MealsIncluded' -# end class RateType780 - - -class BaseByGuestAmtsType781(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, BaseByGuestAmt=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if BaseByGuestAmt is None: - self.BaseByGuestAmt = [] - else: - self.BaseByGuestAmt = BaseByGuestAmt - self.BaseByGuestAmt_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtsType781) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtsType781.subclass: - return BaseByGuestAmtsType781.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtsType781(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_BaseByGuestAmt(self): - return self.BaseByGuestAmt - def set_BaseByGuestAmt(self, BaseByGuestAmt): - self.BaseByGuestAmt = BaseByGuestAmt - def add_BaseByGuestAmt(self, value): - self.BaseByGuestAmt.append(value) - def insert_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt.insert(index, value) - def replace_BaseByGuestAmt_at(self, index, value): - self.BaseByGuestAmt[index] = value - def has__content(self): - if ( - self.BaseByGuestAmt - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType781', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtsType781') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtsType781': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtsType781') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtsType781', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtsType781'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='BaseByGuestAmtsType781', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for BaseByGuestAmt_ in self.BaseByGuestAmt: - namespaceprefix_ = self.BaseByGuestAmt_nsprefix_ + ':' if (UseCapturedNS_ and self.BaseByGuestAmt_nsprefix_) else '' - BaseByGuestAmt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BaseByGuestAmt', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'BaseByGuestAmt': - obj_ = BaseByGuestAmtType782.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.BaseByGuestAmt.append(obj_) - obj_.original_tagname_ = 'BaseByGuestAmt' -# end class BaseByGuestAmtsType781 - - -class BaseByGuestAmtType782(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.NumberOfGuests = _cast(int, NumberOfGuests) - self.NumberOfGuests_nsprefix_ = None - self.AmountAfterTax = _cast(float, AmountAfterTax) - self.AmountAfterTax_nsprefix_ = None - self.CurrencyCode = _cast(None, CurrencyCode) - self.CurrencyCode_nsprefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, BaseByGuestAmtType782) - if subclass is not None: - return subclass(*args_, **kwargs_) - if BaseByGuestAmtType782.subclass: - return BaseByGuestAmtType782.subclass(*args_, **kwargs_) - else: - return BaseByGuestAmtType782(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_NumberOfGuests(self): - return self.NumberOfGuests - def set_NumberOfGuests(self, NumberOfGuests): - self.NumberOfGuests = NumberOfGuests - def get_AmountAfterTax(self): - return self.AmountAfterTax - def set_AmountAfterTax(self, AmountAfterTax): - self.AmountAfterTax = AmountAfterTax - def get_CurrencyCode(self): - return self.CurrencyCode - def set_CurrencyCode(self, CurrencyCode): - self.CurrencyCode = CurrencyCode - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_decimal_gt0(self, value): - # Validate type def_decimal_gt0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value <= 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minExclusive restriction on def_decimal_gt0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_gt0_patterns_, )) - validate_def_decimal_gt0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_three_char_string(self, value): - # Validate type def_three_char_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 3: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_three_char_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_TypeType783(self, value): - # Validate type TypeType783, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['7', '25'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType783' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType782', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('BaseByGuestAmtType782') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'BaseByGuestAmtType782': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BaseByGuestAmtType782') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BaseByGuestAmtType782', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='BaseByGuestAmtType782'): - if self.NumberOfGuests is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - outfile.write(' NumberOfGuests="%s"' % self.gds_format_integer(self.NumberOfGuests, input_name='NumberOfGuests')) - if self.AmountAfterTax is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - outfile.write(' AmountAfterTax="%s"' % self.gds_format_decimal(self.AmountAfterTax, input_name='AmountAfterTax')) - if self.CurrencyCode is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - outfile.write(' CurrencyCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.CurrencyCode), input_name='CurrencyCode')), )) - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='BaseByGuestAmtType782', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('NumberOfGuests', node) - if value is not None and 'NumberOfGuests' not in already_processed: - already_processed.add('NumberOfGuests') - self.NumberOfGuests = self.gds_parse_integer(value, node, 'NumberOfGuests') - if self.NumberOfGuests <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NumberOfGuests) # validate type def_int_gt0 - value = find_attr_value_('AmountAfterTax', node) - if value is not None and 'AmountAfterTax' not in already_processed: - already_processed.add('AmountAfterTax') - value = self.gds_parse_decimal(value, node, 'AmountAfterTax') - self.AmountAfterTax = value - self.validate_def_decimal_gt0(self.AmountAfterTax) # validate type def_decimal_gt0 - value = find_attr_value_('CurrencyCode', node) - if value is not None and 'CurrencyCode' not in already_processed: - already_processed.add('CurrencyCode') - self.CurrencyCode = value - self.validate_def_three_char_string(self.CurrencyCode) # validate type def_three_char_string - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType783(self.Type) # validate type TypeType783 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class BaseByGuestAmtType782 - - -class AdditionalGuestAmountsType784(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AdditionalGuestAmount=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if AdditionalGuestAmount is None: - self.AdditionalGuestAmount = [] - else: - self.AdditionalGuestAmount = AdditionalGuestAmount - self.AdditionalGuestAmount_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountsType784) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountsType784.subclass: - return AdditionalGuestAmountsType784.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountsType784(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AdditionalGuestAmount(self): - return self.AdditionalGuestAmount - def set_AdditionalGuestAmount(self, AdditionalGuestAmount): - self.AdditionalGuestAmount = AdditionalGuestAmount - def add_AdditionalGuestAmount(self, value): - self.AdditionalGuestAmount.append(value) - def insert_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount.insert(index, value) - def replace_AdditionalGuestAmount_at(self, index, value): - self.AdditionalGuestAmount[index] = value - def has__content(self): - if ( - self.AdditionalGuestAmount - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType784', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountsType784') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountsType784': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountsType784') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountsType784', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountsType784'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='AdditionalGuestAmountsType784', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for AdditionalGuestAmount_ in self.AdditionalGuestAmount: - namespaceprefix_ = self.AdditionalGuestAmount_nsprefix_ + ':' if (UseCapturedNS_ and self.AdditionalGuestAmount_nsprefix_) else '' - AdditionalGuestAmount_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AdditionalGuestAmount', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'AdditionalGuestAmount': - obj_ = AdditionalGuestAmountType785.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.AdditionalGuestAmount.append(obj_) - obj_.original_tagname_ = 'AdditionalGuestAmount' -# end class AdditionalGuestAmountsType784 - - -class AdditionalGuestAmountType785(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, AdditionalGuestAmountType785) - if subclass is not None: - return subclass(*args_, **kwargs_) - if AdditionalGuestAmountType785.subclass: - return AdditionalGuestAmountType785.subclass(*args_, **kwargs_) - else: - return AdditionalGuestAmountType785(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType785', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('AdditionalGuestAmountType785') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'AdditionalGuestAmountType785': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AdditionalGuestAmountType785') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AdditionalGuestAmountType785', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AdditionalGuestAmountType785'): - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AdditionalGuestAmountType785', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class AdditionalGuestAmountType785 - - -class RateDescriptionType786(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, RateDescriptionType786) - if subclass is not None: - return subclass(*args_, **kwargs_) - if RateDescriptionType786.subclass: - return RateDescriptionType786.subclass(*args_, **kwargs_) - else: - return RateDescriptionType786(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_NameType789(self, value): - # Validate type NameType789, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['included services'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType789' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType786', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('RateDescriptionType786') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'RateDescriptionType786': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='RateDescriptionType786') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RateDescriptionType786', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='RateDescriptionType786'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='RateDescriptionType786', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - ListItem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ListItem', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType789(self.Name) # validate type NameType789 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - obj_ = ListItemType787.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ListItem.append(obj_) - obj_.original_tagname_ = 'ListItem' -# end class RateDescriptionType786 - - -class ListItemType787(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ListItem=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ListItem = _cast(int, ListItem) - self.ListItem_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ListItemType787) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ListItemType787.subclass: - return ListItemType787.subclass(*args_, **kwargs_) - else: - return ListItemType787(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_LanguageType788(self, value): - # Validate type LanguageType788, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType788_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType788_patterns_, )) - validate_LanguageType788_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType787', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ListItemType787') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ListItemType787': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ListItemType787') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ListItemType787'): - if self.ListItem is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - outfile.write(' ListItem="%s"' % self.gds_format_integer(self.ListItem, input_name='ListItem')) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ListItemType787', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('ListItem', node) - if value is not None and 'ListItem' not in already_processed: - already_processed.add('ListItem') - self.ListItem = self.gds_parse_integer(value, node, 'ListItem') - if self.ListItem < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.ListItem) # validate type def_int_ge0 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType788(self.Language) # validate type LanguageType788 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ListItemType787 - - -class MealsIncludedType790(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Breakfast = _cast(bool, Breakfast) - self.Breakfast_nsprefix_ = None - self.Lunch = _cast(bool, Lunch) - self.Lunch_nsprefix_ = None - self.Dinner = _cast(bool, Dinner) - self.Dinner_nsprefix_ = None - self.MealPlanCodes = _cast(None, MealPlanCodes) - self.MealPlanCodes_nsprefix_ = None - self.MealPlanIndicator = _cast(None, MealPlanIndicator) - self.MealPlanIndicator_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, MealsIncludedType790) - if subclass is not None: - return subclass(*args_, **kwargs_) - if MealsIncludedType790.subclass: - return MealsIncludedType790.subclass(*args_, **kwargs_) - else: - return MealsIncludedType790(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Breakfast(self): - return self.Breakfast - def set_Breakfast(self, Breakfast): - self.Breakfast = Breakfast - def get_Lunch(self): - return self.Lunch - def set_Lunch(self, Lunch): - self.Lunch = Lunch - def get_Dinner(self): - return self.Dinner - def set_Dinner(self, Dinner): - self.Dinner = Dinner - def get_MealPlanCodes(self): - return self.MealPlanCodes - def set_MealPlanCodes(self, MealPlanCodes): - self.MealPlanCodes = MealPlanCodes - def get_MealPlanIndicator(self): - return self.MealPlanIndicator - def set_MealPlanIndicator(self, MealPlanIndicator): - self.MealPlanIndicator = MealPlanIndicator - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_MealPlanCodesType791(self, value): - # Validate type MealPlanCodesType791, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '3', '10', '12', '14'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanCodesType791' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MealPlanIndicatorType792(self, value): - # Validate type MealPlanIndicatorType792, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MealPlanIndicatorType792' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType790', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('MealsIncludedType790') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'MealsIncludedType790': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MealsIncludedType790') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MealsIncludedType790', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MealsIncludedType790'): - if self.Breakfast is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - outfile.write(' Breakfast="%s"' % self.gds_format_boolean(self.Breakfast, input_name='Breakfast')) - if self.Lunch is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - outfile.write(' Lunch="%s"' % self.gds_format_boolean(self.Lunch, input_name='Lunch')) - if self.Dinner is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - outfile.write(' Dinner="%s"' % self.gds_format_boolean(self.Dinner, input_name='Dinner')) - if self.MealPlanCodes is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - outfile.write(' MealPlanCodes=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanCodes), input_name='MealPlanCodes')), )) - if self.MealPlanIndicator is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - outfile.write(' MealPlanIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MealPlanIndicator), input_name='MealPlanIndicator')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MealsIncludedType790', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Breakfast', node) - if value is not None and 'Breakfast' not in already_processed: - already_processed.add('Breakfast') - if value in ('true', '1'): - self.Breakfast = True - elif value in ('false', '0'): - self.Breakfast = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Breakfast) # validate type def_bool - value = find_attr_value_('Lunch', node) - if value is not None and 'Lunch' not in already_processed: - already_processed.add('Lunch') - if value in ('true', '1'): - self.Lunch = True - elif value in ('false', '0'): - self.Lunch = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Lunch) # validate type def_bool - value = find_attr_value_('Dinner', node) - if value is not None and 'Dinner' not in already_processed: - already_processed.add('Dinner') - if value in ('true', '1'): - self.Dinner = True - elif value in ('false', '0'): - self.Dinner = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Dinner) # validate type def_bool - value = find_attr_value_('MealPlanCodes', node) - if value is not None and 'MealPlanCodes' not in already_processed: - already_processed.add('MealPlanCodes') - self.MealPlanCodes = value - self.validate_MealPlanCodesType791(self.MealPlanCodes) # validate type MealPlanCodesType791 - value = find_attr_value_('MealPlanIndicator', node) - if value is not None and 'MealPlanIndicator' not in already_processed: - already_processed.add('MealPlanIndicator') - self.MealPlanIndicator = value - self.validate_MealPlanIndicatorType792(self.MealPlanIndicator) # validate type MealPlanIndicatorType792 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class MealsIncludedType790 - - -class SupplementsType795(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Supplement=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Supplement is None: - self.Supplement = [] - else: - self.Supplement = Supplement - self.Supplement_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementsType795) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementsType795.subclass: - return SupplementsType795.subclass(*args_, **kwargs_) - else: - return SupplementsType795(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Supplement(self): - return self.Supplement - def set_Supplement(self, Supplement): - self.Supplement = Supplement - def add_Supplement(self, value): - self.Supplement.append(value) - def insert_Supplement_at(self, index, value): - self.Supplement.insert(index, value) - def replace_Supplement_at(self, index, value): - self.Supplement[index] = value - def has__content(self): - if ( - self.Supplement - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType795', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementsType795') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementsType795': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementsType795') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementsType795', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementsType795'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementsType795', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Supplement_ in self.Supplement: - namespaceprefix_ = self.Supplement_nsprefix_ + ':' if (UseCapturedNS_ and self.Supplement_nsprefix_) else '' - Supplement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Supplement', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Supplement': - obj_ = SupplementType796.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Supplement.append(obj_) - obj_.original_tagname_ = 'Supplement' -# end class SupplementsType795 - - -class SupplementType796(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AddToBasicRateIndicator = _cast(None, AddToBasicRateIndicator) - self.AddToBasicRateIndicator_nsprefix_ = None - self.ChargeTypeCode = _cast(None, ChargeTypeCode) - self.ChargeTypeCode_nsprefix_ = None - self.Amount = _cast(float, Amount) - self.Amount_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.MandatoryIndicator = _cast(bool, MandatoryIndicator) - self.MandatoryIndicator_nsprefix_ = None - self.Start = _cast(None, Start) - self.Start_nsprefix_ = None - self.End = _cast(None, End) - self.End_nsprefix_ = None - self.PrerequisiteInventory = PrerequisiteInventory - self.PrerequisiteInventory_nsprefix_ = None - if Description is None: - self.Description = [] - else: - self.Description = Description - self.Description_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, SupplementType796) - if subclass is not None: - return subclass(*args_, **kwargs_) - if SupplementType796.subclass: - return SupplementType796.subclass(*args_, **kwargs_) - else: - return SupplementType796(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_PrerequisiteInventory(self): - return self.PrerequisiteInventory - def set_PrerequisiteInventory(self, PrerequisiteInventory): - self.PrerequisiteInventory = PrerequisiteInventory - def get_Description(self): - return self.Description - def set_Description(self, Description): - self.Description = Description - def add_Description(self, value): - self.Description.append(value) - def insert_Description_at(self, index, value): - self.Description.insert(index, value) - def replace_Description_at(self, index, value): - self.Description[index] = value - def get_AddToBasicRateIndicator(self): - return self.AddToBasicRateIndicator - def set_AddToBasicRateIndicator(self, AddToBasicRateIndicator): - self.AddToBasicRateIndicator = AddToBasicRateIndicator - def get_ChargeTypeCode(self): - return self.ChargeTypeCode - def set_ChargeTypeCode(self, ChargeTypeCode): - self.ChargeTypeCode = ChargeTypeCode - def get_Amount(self): - return self.Amount - def set_Amount(self, Amount): - self.Amount = Amount - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_MandatoryIndicator(self): - return self.MandatoryIndicator - def set_MandatoryIndicator(self, MandatoryIndicator): - self.MandatoryIndicator = MandatoryIndicator - def get_Start(self): - return self.Start - def set_Start(self, Start): - self.Start = Start - def get_End(self): - return self.End - def set_End(self, End): - self.End = End - def validate_AddToBasicRateIndicatorType804(self, value): - # Validate type AddToBasicRateIndicatorType804, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', 'true'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AddToBasicRateIndicatorType804' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_ChargeTypeCodeType805(self, value): - # Validate type ChargeTypeCodeType805, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1', '12', '18', '19', '20', '21', '24'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on ChargeTypeCodeType805' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_InvTypeType806(self, value): - # Validate type InvTypeType806, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['EXTRA', 'ALPINEBITSEXTRA'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType806' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def validate_def_date(self, value): - # Validate type def_date, a restriction on xs:date. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, datetime_.date): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (datetime_.date)' % {"value": value, "lineno": lineno, }) - return False - value = str(value) - if not self.gds_validate_simple_patterns( - self.validate_def_date_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_date_patterns_, )) - validate_def_date_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - self.PrerequisiteInventory is not None or - self.Description - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType796', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('SupplementType796') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'SupplementType796': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplementType796') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplementType796', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SupplementType796'): - if self.AddToBasicRateIndicator is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - outfile.write(' AddToBasicRateIndicator=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AddToBasicRateIndicator), input_name='AddToBasicRateIndicator')), )) - if self.ChargeTypeCode is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - outfile.write(' ChargeTypeCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ChargeTypeCode), input_name='ChargeTypeCode')), )) - if self.Amount is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - outfile.write(' Amount="%s"' % self.gds_format_decimal(self.Amount, input_name='Amount')) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.MandatoryIndicator is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - outfile.write(' MandatoryIndicator="%s"' % self.gds_format_boolean(self.MandatoryIndicator, input_name='MandatoryIndicator')) - if self.Start is not None and 'Start' not in already_processed: - already_processed.add('Start') - outfile.write(' Start="%s"' % self.gds_format_date(self.Start, input_name='Start')) - if self.End is not None and 'End' not in already_processed: - already_processed.add('End') - outfile.write(' End="%s"' % self.gds_format_date(self.End, input_name='End')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='SupplementType796', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.PrerequisiteInventory is not None: - namespaceprefix_ = self.PrerequisiteInventory_nsprefix_ + ':' if (UseCapturedNS_ and self.PrerequisiteInventory_nsprefix_) else '' - self.PrerequisiteInventory.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PrerequisiteInventory', pretty_print=pretty_print) - for Description_ in self.Description: - namespaceprefix_ = self.Description_nsprefix_ + ':' if (UseCapturedNS_ and self.Description_nsprefix_) else '' - Description_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Description', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AddToBasicRateIndicator', node) - if value is not None and 'AddToBasicRateIndicator' not in already_processed: - already_processed.add('AddToBasicRateIndicator') - self.AddToBasicRateIndicator = value - self.validate_AddToBasicRateIndicatorType804(self.AddToBasicRateIndicator) # validate type AddToBasicRateIndicatorType804 - value = find_attr_value_('ChargeTypeCode', node) - if value is not None and 'ChargeTypeCode' not in already_processed: - already_processed.add('ChargeTypeCode') - self.ChargeTypeCode = value - self.validate_ChargeTypeCodeType805(self.ChargeTypeCode) # validate type ChargeTypeCodeType805 - value = find_attr_value_('Amount', node) - if value is not None and 'Amount' not in already_processed: - already_processed.add('Amount') - value = self.gds_parse_decimal(value, node, 'Amount') - self.Amount = value - self.validate_def_decimal_ge0(self.Amount) # validate type def_decimal_ge0 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType806(self.InvType) # validate type InvTypeType806 - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('MandatoryIndicator', node) - if value is not None and 'MandatoryIndicator' not in already_processed: - already_processed.add('MandatoryIndicator') - if value in ('true', '1'): - self.MandatoryIndicator = True - elif value in ('false', '0'): - self.MandatoryIndicator = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.MandatoryIndicator) # validate type def_bool - value = find_attr_value_('Start', node) - if value is not None and 'Start' not in already_processed: - already_processed.add('Start') - try: - self.Start = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (Start): %s' % exp) - self.validate_def_date(self.Start) # validate type def_date - value = find_attr_value_('End', node) - if value is not None and 'End' not in already_processed: - already_processed.add('End') - try: - self.End = self.gds_parse_date(value) - except ValueError as exp: - raise ValueError('Bad date attribute (End): %s' % exp) - self.validate_def_date(self.End) # validate type def_date - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'PrerequisiteInventory': - obj_ = PrerequisiteInventoryType797.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.PrerequisiteInventory = obj_ - obj_.original_tagname_ = 'PrerequisiteInventory' - elif nodeName_ == 'Description': - obj_ = DescriptionType799.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Description.append(obj_) - obj_.original_tagname_ = 'Description' -# end class SupplementType796 - - -class PrerequisiteInventoryType797(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, InvCode=None, InvType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.InvCode = _cast(None, InvCode) - self.InvCode_nsprefix_ = None - self.InvType = _cast(None, InvType) - self.InvType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, PrerequisiteInventoryType797) - if subclass is not None: - return subclass(*args_, **kwargs_) - if PrerequisiteInventoryType797.subclass: - return PrerequisiteInventoryType797.subclass(*args_, **kwargs_) - else: - return PrerequisiteInventoryType797(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_InvCode(self): - return self.InvCode - def set_InvCode(self, InvCode): - self.InvCode = InvCode - def get_InvType(self): - return self.InvType - def set_InvType(self, InvType): - self.InvType = InvType - def validate_StringLength1to16(self, value): - # Validate type StringLength1to16, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 16: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_InvTypeType798(self, value): - # Validate type InvTypeType798, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITSDOW', 'ROOMTYPE'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on InvTypeType798' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType797', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('PrerequisiteInventoryType797') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'PrerequisiteInventoryType797': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PrerequisiteInventoryType797') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PrerequisiteInventoryType797', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PrerequisiteInventoryType797'): - if self.InvCode is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - outfile.write(' InvCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvCode), input_name='InvCode')), )) - if self.InvType is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - outfile.write(' InvType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.InvType), input_name='InvType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PrerequisiteInventoryType797', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('InvCode', node) - if value is not None and 'InvCode' not in already_processed: - already_processed.add('InvCode') - self.InvCode = value - self.validate_StringLength1to16(self.InvCode) # validate type StringLength1to16 - value = find_attr_value_('InvType', node) - if value is not None and 'InvType' not in already_processed: - already_processed.add('InvType') - self.InvType = value - self.validate_InvTypeType798(self.InvType) # validate type InvTypeType798 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class PrerequisiteInventoryType797 - - -class DescriptionType799(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType799) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType799.subclass: - return DescriptionType799.subclass(*args_, **kwargs_) - else: - return DescriptionType799(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType803(self, value): - # Validate type NameType803, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType803' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType799', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType799') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType799': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType799') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType799', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType799'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType799', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType803(self.Name) # validate type NameType803 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType800.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType799 - - -class TextType800(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType800) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType800.subclass: - return TextType800.subclass(*args_, **kwargs_) - else: - return TextType800(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType801(self, value): - # Validate type TextFormatType801, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType801' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType802(self, value): - # Validate type LanguageType802, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType802_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType802_patterns_, )) - validate_LanguageType802_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType800', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType800') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType800': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType800') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType800'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType800', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType801(self.TextFormat) # validate type TextFormatType801 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType802(self.Language) # validate type LanguageType802 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType800 - - -class OffersType807(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Offer=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Offer is None: - self.Offer = [] - else: - self.Offer = Offer - self.Offer_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OffersType807) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OffersType807.subclass: - return OffersType807.subclass(*args_, **kwargs_) - else: - return OffersType807(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Offer(self): - return self.Offer - def set_Offer(self, Offer): - self.Offer = Offer - def add_Offer(self, value): - self.Offer.append(value) - def insert_Offer_at(self, index, value): - self.Offer.insert(index, value) - def replace_Offer_at(self, index, value): - self.Offer[index] = value - def has__content(self): - if ( - self.Offer - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType807', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OffersType807') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OffersType807': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OffersType807') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OffersType807', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OffersType807'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OffersType807', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Offer_ in self.Offer: - namespaceprefix_ = self.Offer_nsprefix_ + ':' if (UseCapturedNS_ and self.Offer_nsprefix_) else '' - Offer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Offer', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Offer': - obj_ = OfferType808.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Offer.append(obj_) - obj_.original_tagname_ = 'Offer' -# end class OffersType807 - - -class OfferType808(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRules=None, Discount=None, Guests=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRules = OfferRules - self.OfferRules_nsprefix_ = None - self.Discount = Discount - self.Discount_nsprefix_ = None - self.Guests = Guests - self.Guests_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferType808) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferType808.subclass: - return OfferType808.subclass(*args_, **kwargs_) - else: - return OfferType808(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRules(self): - return self.OfferRules - def set_OfferRules(self, OfferRules): - self.OfferRules = OfferRules - def get_Discount(self): - return self.Discount - def set_Discount(self, Discount): - self.Discount = Discount - def get_Guests(self): - return self.Guests - def set_Guests(self, Guests): - self.Guests = Guests - def has__content(self): - if ( - self.OfferRules is not None or - self.Discount is not None or - self.Guests is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType808', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferType808') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferType808': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferType808') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferType808', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferType808'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferType808', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRules is not None: - namespaceprefix_ = self.OfferRules_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRules_nsprefix_) else '' - self.OfferRules.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRules', pretty_print=pretty_print) - if self.Discount is not None: - namespaceprefix_ = self.Discount_nsprefix_ + ':' if (UseCapturedNS_ and self.Discount_nsprefix_) else '' - self.Discount.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Discount', pretty_print=pretty_print) - if self.Guests is not None: - namespaceprefix_ = self.Guests_nsprefix_ + ':' if (UseCapturedNS_ and self.Guests_nsprefix_) else '' - self.Guests.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guests', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRules': - obj_ = OfferRulesType809.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRules = obj_ - obj_.original_tagname_ = 'OfferRules' - elif nodeName_ == 'Discount': - obj_ = DiscountType822.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Discount = obj_ - obj_.original_tagname_ = 'Discount' - elif nodeName_ == 'Guests': - obj_ = GuestsType825.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guests = obj_ - obj_.original_tagname_ = 'Guests' -# end class OfferType808 - - -class OfferRulesType809(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, OfferRule=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.OfferRule = OfferRule - self.OfferRule_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRulesType809) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRulesType809.subclass: - return OfferRulesType809.subclass(*args_, **kwargs_) - else: - return OfferRulesType809(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_OfferRule(self): - return self.OfferRule - def set_OfferRule(self, OfferRule): - self.OfferRule = OfferRule - def has__content(self): - if ( - self.OfferRule is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType809', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRulesType809') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRulesType809': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRulesType809') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRulesType809', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRulesType809'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRulesType809', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.OfferRule is not None: - namespaceprefix_ = self.OfferRule_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferRule_nsprefix_) else '' - self.OfferRule.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OfferRule', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'OfferRule': - obj_ = OfferRuleType810.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.OfferRule = obj_ - obj_.original_tagname_ = 'OfferRule' -# end class OfferRulesType809 - - -class OfferRuleType810(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.MinAdvancedBookingOffset = _cast(None, MinAdvancedBookingOffset) - self.MinAdvancedBookingOffset_nsprefix_ = None - self.MaxAdvancedBookingOffset = _cast(None, MaxAdvancedBookingOffset) - self.MaxAdvancedBookingOffset_nsprefix_ = None - self.LengthsOfStay = LengthsOfStay - self.LengthsOfStay_nsprefix_ = None - self.DOW_Restrictions = DOW_Restrictions - self.DOW_Restrictions_nsprefix_ = None - if Occupancy is None: - self.Occupancy = [] - else: - self.Occupancy = Occupancy - self.Occupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OfferRuleType810) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OfferRuleType810.subclass: - return OfferRuleType810.subclass(*args_, **kwargs_) - else: - return OfferRuleType810(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthsOfStay(self): - return self.LengthsOfStay - def set_LengthsOfStay(self, LengthsOfStay): - self.LengthsOfStay = LengthsOfStay - def get_DOW_Restrictions(self): - return self.DOW_Restrictions - def set_DOW_Restrictions(self, DOW_Restrictions): - self.DOW_Restrictions = DOW_Restrictions - def get_Occupancy(self): - return self.Occupancy - def set_Occupancy(self, Occupancy): - self.Occupancy = Occupancy - def add_Occupancy(self, value): - self.Occupancy.append(value) - def insert_Occupancy_at(self, index, value): - self.Occupancy.insert(index, value) - def replace_Occupancy_at(self, index, value): - self.Occupancy[index] = value - def get_MinAdvancedBookingOffset(self): - return self.MinAdvancedBookingOffset - def set_MinAdvancedBookingOffset(self, MinAdvancedBookingOffset): - self.MinAdvancedBookingOffset = MinAdvancedBookingOffset - def get_MaxAdvancedBookingOffset(self): - return self.MaxAdvancedBookingOffset - def set_MaxAdvancedBookingOffset(self, MaxAdvancedBookingOffset): - self.MaxAdvancedBookingOffset = MaxAdvancedBookingOffset - def validate_MinAdvancedBookingOffsetType820(self, value): - # Validate type MinAdvancedBookingOffsetType820, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MinAdvancedBookingOffsetType820_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MinAdvancedBookingOffsetType820_patterns_, )) - validate_MinAdvancedBookingOffsetType820_patterns_ = [['^(P[0-9]+D)$']] - def validate_MaxAdvancedBookingOffsetType821(self, value): - # Validate type MaxAdvancedBookingOffsetType821, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_MaxAdvancedBookingOffsetType821_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_MaxAdvancedBookingOffsetType821_patterns_, )) - validate_MaxAdvancedBookingOffsetType821_patterns_ = [['^(P[0-9]+D)$']] - def has__content(self): - if ( - self.LengthsOfStay is not None or - self.DOW_Restrictions is not None or - self.Occupancy - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType810', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OfferRuleType810') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OfferRuleType810': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OfferRuleType810') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OfferRuleType810', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OfferRuleType810'): - if self.MinAdvancedBookingOffset is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - outfile.write(' MinAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinAdvancedBookingOffset), input_name='MinAdvancedBookingOffset')), )) - if self.MaxAdvancedBookingOffset is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - outfile.write(' MaxAdvancedBookingOffset=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MaxAdvancedBookingOffset), input_name='MaxAdvancedBookingOffset')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='OfferRuleType810', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.LengthsOfStay is not None: - namespaceprefix_ = self.LengthsOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthsOfStay_nsprefix_) else '' - self.LengthsOfStay.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthsOfStay', pretty_print=pretty_print) - if self.DOW_Restrictions is not None: - namespaceprefix_ = self.DOW_Restrictions_nsprefix_ + ':' if (UseCapturedNS_ and self.DOW_Restrictions_nsprefix_) else '' - self.DOW_Restrictions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOW_Restrictions', pretty_print=pretty_print) - for Occupancy_ in self.Occupancy: - namespaceprefix_ = self.Occupancy_nsprefix_ + ':' if (UseCapturedNS_ and self.Occupancy_nsprefix_) else '' - Occupancy_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Occupancy', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('MinAdvancedBookingOffset', node) - if value is not None and 'MinAdvancedBookingOffset' not in already_processed: - already_processed.add('MinAdvancedBookingOffset') - self.MinAdvancedBookingOffset = value - self.validate_MinAdvancedBookingOffsetType820(self.MinAdvancedBookingOffset) # validate type MinAdvancedBookingOffsetType820 - value = find_attr_value_('MaxAdvancedBookingOffset', node) - if value is not None and 'MaxAdvancedBookingOffset' not in already_processed: - already_processed.add('MaxAdvancedBookingOffset') - self.MaxAdvancedBookingOffset = value - self.validate_MaxAdvancedBookingOffsetType821(self.MaxAdvancedBookingOffset) # validate type MaxAdvancedBookingOffsetType821 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthsOfStay': - obj_ = LengthsOfStayType811.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthsOfStay = obj_ - obj_.original_tagname_ = 'LengthsOfStay' - elif nodeName_ == 'DOW_Restrictions': - obj_ = DOW_RestrictionsType815.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DOW_Restrictions = obj_ - obj_.original_tagname_ = 'DOW_Restrictions' - elif nodeName_ == 'Occupancy': - obj_ = OccupancyType818.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Occupancy.append(obj_) - obj_.original_tagname_ = 'Occupancy' -# end class OfferRuleType810 - - -class LengthsOfStayType811(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, LengthOfStay=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if LengthOfStay is None: - self.LengthOfStay = [] - else: - self.LengthOfStay = LengthOfStay - self.LengthOfStay_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthsOfStayType811) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthsOfStayType811.subclass: - return LengthsOfStayType811.subclass(*args_, **kwargs_) - else: - return LengthsOfStayType811(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_LengthOfStay(self): - return self.LengthOfStay - def set_LengthOfStay(self, LengthOfStay): - self.LengthOfStay = LengthOfStay - def add_LengthOfStay(self, value): - self.LengthOfStay.append(value) - def insert_LengthOfStay_at(self, index, value): - self.LengthOfStay.insert(index, value) - def replace_LengthOfStay_at(self, index, value): - self.LengthOfStay[index] = value - def has__content(self): - if ( - self.LengthOfStay - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType811', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthsOfStayType811') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthsOfStayType811': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthsOfStayType811') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthsOfStayType811', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthsOfStayType811'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='LengthsOfStayType811', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for LengthOfStay_ in self.LengthOfStay: - namespaceprefix_ = self.LengthOfStay_nsprefix_ + ':' if (UseCapturedNS_ and self.LengthOfStay_nsprefix_) else '' - LengthOfStay_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LengthOfStay', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'LengthOfStay': - obj_ = LengthOfStayType812.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.LengthOfStay.append(obj_) - obj_.original_tagname_ = 'LengthOfStay' -# end class LengthsOfStayType811 - - -class LengthOfStayType812(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Time = _cast(float, Time) - self.Time_nsprefix_ = None - self.TimeUnit = _cast(None, TimeUnit) - self.TimeUnit_nsprefix_ = None - self.MinMaxMessageType = _cast(None, MinMaxMessageType) - self.MinMaxMessageType_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, LengthOfStayType812) - if subclass is not None: - return subclass(*args_, **kwargs_) - if LengthOfStayType812.subclass: - return LengthOfStayType812.subclass(*args_, **kwargs_) - else: - return LengthOfStayType812(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Time(self): - return self.Time - def set_Time(self, Time): - self.Time = Time - def get_TimeUnit(self): - return self.TimeUnit - def set_TimeUnit(self, TimeUnit): - self.TimeUnit = TimeUnit - def get_MinMaxMessageType(self): - return self.MinMaxMessageType - def set_MinMaxMessageType(self, MinMaxMessageType): - self.MinMaxMessageType = MinMaxMessageType - def validate_def_decimal_ge0(self, value): - # Validate type def_decimal_ge0, a restriction on xs:decimal. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, decimal_.Decimal): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (decimal_.Decimal)' % {"value": value, "lineno": lineno, }) - return False - if value < 0.0: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on def_decimal_ge0' % {"value": value, "lineno": lineno} ) - result = False - if not self.gds_validate_simple_patterns( - self.validate_def_decimal_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_decimal_ge0_patterns_, )) - validate_def_decimal_ge0_patterns_ = [['^([0-9]*\\.?[0-9]*)$']] - def validate_TimeUnitType813(self, value): - # Validate type TimeUnitType813, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['Day'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TimeUnitType813' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_MinMaxMessageTypeType814(self, value): - # Validate type MinMaxMessageTypeType814, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['SetMinLOS', 'SetMaxLOS', ''] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on MinMaxMessageTypeType814' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType812', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('LengthOfStayType812') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'LengthOfStayType812': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LengthOfStayType812') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LengthOfStayType812', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LengthOfStayType812'): - if self.Time is not None and 'Time' not in already_processed: - already_processed.add('Time') - outfile.write(' Time="%s"' % self.gds_format_decimal(self.Time, input_name='Time')) - if self.TimeUnit is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - outfile.write(' TimeUnit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TimeUnit), input_name='TimeUnit')), )) - if self.MinMaxMessageType is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - outfile.write(' MinMaxMessageType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.MinMaxMessageType), input_name='MinMaxMessageType')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LengthOfStayType812', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Time', node) - if value is not None and 'Time' not in already_processed: - already_processed.add('Time') - value = self.gds_parse_decimal(value, node, 'Time') - self.Time = value - self.validate_def_decimal_ge0(self.Time) # validate type def_decimal_ge0 - value = find_attr_value_('TimeUnit', node) - if value is not None and 'TimeUnit' not in already_processed: - already_processed.add('TimeUnit') - self.TimeUnit = value - self.validate_TimeUnitType813(self.TimeUnit) # validate type TimeUnitType813 - value = find_attr_value_('MinMaxMessageType', node) - if value is not None and 'MinMaxMessageType' not in already_processed: - already_processed.add('MinMaxMessageType') - self.MinMaxMessageType = value - self.validate_MinMaxMessageTypeType814(self.MinMaxMessageType) # validate type MinMaxMessageTypeType814 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class LengthOfStayType812 - - -class DOW_RestrictionsType815(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - self.ArrivalDaysOfWeek_nsprefix_ = None - self.DepartureDaysOfWeek = DepartureDaysOfWeek - self.DepartureDaysOfWeek_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DOW_RestrictionsType815) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DOW_RestrictionsType815.subclass: - return DOW_RestrictionsType815.subclass(*args_, **kwargs_) - else: - return DOW_RestrictionsType815(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ArrivalDaysOfWeek(self): - return self.ArrivalDaysOfWeek - def set_ArrivalDaysOfWeek(self, ArrivalDaysOfWeek): - self.ArrivalDaysOfWeek = ArrivalDaysOfWeek - def get_DepartureDaysOfWeek(self): - return self.DepartureDaysOfWeek - def set_DepartureDaysOfWeek(self, DepartureDaysOfWeek): - self.DepartureDaysOfWeek = DepartureDaysOfWeek - def has__content(self): - if ( - self.ArrivalDaysOfWeek is not None or - self.DepartureDaysOfWeek is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType815', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOW_RestrictionsType815') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DOW_RestrictionsType815': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DOW_RestrictionsType815') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOW_RestrictionsType815', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DOW_RestrictionsType815'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DOW_RestrictionsType815', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.ArrivalDaysOfWeek is not None: - namespaceprefix_ = self.ArrivalDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.ArrivalDaysOfWeek_nsprefix_) else '' - self.ArrivalDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ArrivalDaysOfWeek', pretty_print=pretty_print) - if self.DepartureDaysOfWeek is not None: - namespaceprefix_ = self.DepartureDaysOfWeek_nsprefix_ + ':' if (UseCapturedNS_ and self.DepartureDaysOfWeek_nsprefix_) else '' - self.DepartureDaysOfWeek.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DepartureDaysOfWeek', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ArrivalDaysOfWeek': - obj_ = ArrivalDaysOfWeekType816.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.ArrivalDaysOfWeek = obj_ - obj_.original_tagname_ = 'ArrivalDaysOfWeek' - elif nodeName_ == 'DepartureDaysOfWeek': - obj_ = DepartureDaysOfWeekType817.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.DepartureDaysOfWeek = obj_ - obj_.original_tagname_ = 'DepartureDaysOfWeek' -# end class DOW_RestrictionsType815 - - -class ArrivalDaysOfWeekType816(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ArrivalDaysOfWeekType816) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ArrivalDaysOfWeekType816.subclass: - return ArrivalDaysOfWeekType816.subclass(*args_, **kwargs_) - else: - return ArrivalDaysOfWeekType816(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType816', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ArrivalDaysOfWeekType816') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ArrivalDaysOfWeekType816': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ArrivalDaysOfWeekType816') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ArrivalDaysOfWeekType816', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ArrivalDaysOfWeekType816'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ArrivalDaysOfWeekType816', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class ArrivalDaysOfWeekType816 - - -class DepartureDaysOfWeekType817(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Mon = _cast(bool, Mon) - self.Mon_nsprefix_ = None - self.Tue = _cast(bool, Tue) - self.Tue_nsprefix_ = None - self.Weds = _cast(bool, Weds) - self.Weds_nsprefix_ = None - self.Thur = _cast(bool, Thur) - self.Thur_nsprefix_ = None - self.Fri = _cast(bool, Fri) - self.Fri_nsprefix_ = None - self.Sat = _cast(bool, Sat) - self.Sat_nsprefix_ = None - self.Sun = _cast(bool, Sun) - self.Sun_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DepartureDaysOfWeekType817) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DepartureDaysOfWeekType817.subclass: - return DepartureDaysOfWeekType817.subclass(*args_, **kwargs_) - else: - return DepartureDaysOfWeekType817(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Mon(self): - return self.Mon - def set_Mon(self, Mon): - self.Mon = Mon - def get_Tue(self): - return self.Tue - def set_Tue(self, Tue): - self.Tue = Tue - def get_Weds(self): - return self.Weds - def set_Weds(self, Weds): - self.Weds = Weds - def get_Thur(self): - return self.Thur - def set_Thur(self, Thur): - self.Thur = Thur - def get_Fri(self): - return self.Fri - def set_Fri(self, Fri): - self.Fri = Fri - def get_Sat(self): - return self.Sat - def set_Sat(self, Sat): - self.Sat = Sat - def get_Sun(self): - return self.Sun - def set_Sun(self, Sun): - self.Sun = Sun - def validate_def_bool(self, value): - # Validate type def_bool, a restriction on xs:boolean. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not self.gds_validate_simple_patterns( - self.validate_def_bool_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_bool_patterns_, )) - validate_def_bool_patterns_ = [['^(\\S+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType817', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DepartureDaysOfWeekType817') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DepartureDaysOfWeekType817': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DepartureDaysOfWeekType817') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DepartureDaysOfWeekType817', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DepartureDaysOfWeekType817'): - if self.Mon is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - outfile.write(' Mon="%s"' % self.gds_format_boolean(self.Mon, input_name='Mon')) - if self.Tue is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - outfile.write(' Tue="%s"' % self.gds_format_boolean(self.Tue, input_name='Tue')) - if self.Weds is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - outfile.write(' Weds="%s"' % self.gds_format_boolean(self.Weds, input_name='Weds')) - if self.Thur is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - outfile.write(' Thur="%s"' % self.gds_format_boolean(self.Thur, input_name='Thur')) - if self.Fri is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - outfile.write(' Fri="%s"' % self.gds_format_boolean(self.Fri, input_name='Fri')) - if self.Sat is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - outfile.write(' Sat="%s"' % self.gds_format_boolean(self.Sat, input_name='Sat')) - if self.Sun is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - outfile.write(' Sun="%s"' % self.gds_format_boolean(self.Sun, input_name='Sun')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DepartureDaysOfWeekType817', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Mon', node) - if value is not None and 'Mon' not in already_processed: - already_processed.add('Mon') - if value in ('true', '1'): - self.Mon = True - elif value in ('false', '0'): - self.Mon = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Mon) # validate type def_bool - value = find_attr_value_('Tue', node) - if value is not None and 'Tue' not in already_processed: - already_processed.add('Tue') - if value in ('true', '1'): - self.Tue = True - elif value in ('false', '0'): - self.Tue = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Tue) # validate type def_bool - value = find_attr_value_('Weds', node) - if value is not None and 'Weds' not in already_processed: - already_processed.add('Weds') - if value in ('true', '1'): - self.Weds = True - elif value in ('false', '0'): - self.Weds = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Weds) # validate type def_bool - value = find_attr_value_('Thur', node) - if value is not None and 'Thur' not in already_processed: - already_processed.add('Thur') - if value in ('true', '1'): - self.Thur = True - elif value in ('false', '0'): - self.Thur = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Thur) # validate type def_bool - value = find_attr_value_('Fri', node) - if value is not None and 'Fri' not in already_processed: - already_processed.add('Fri') - if value in ('true', '1'): - self.Fri = True - elif value in ('false', '0'): - self.Fri = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Fri) # validate type def_bool - value = find_attr_value_('Sat', node) - if value is not None and 'Sat' not in already_processed: - already_processed.add('Sat') - if value in ('true', '1'): - self.Sat = True - elif value in ('false', '0'): - self.Sat = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sat) # validate type def_bool - value = find_attr_value_('Sun', node) - if value is not None and 'Sun' not in already_processed: - already_processed.add('Sun') - if value in ('true', '1'): - self.Sun = True - elif value in ('false', '0'): - self.Sun = False - else: - raise_parse_error(node, 'Bad boolean attribute') - self.validate_def_bool(self.Sun) # validate type def_bool - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DepartureDaysOfWeekType817 - - -class OccupancyType818(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(None, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MinAge = _cast(int, MinAge) - self.MinAge_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinOccupancy = _cast(int, MinOccupancy) - self.MinOccupancy_nsprefix_ = None - self.MaxOccupancy = _cast(int, MaxOccupancy) - self.MaxOccupancy_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, OccupancyType818) - if subclass is not None: - return subclass(*args_, **kwargs_) - if OccupancyType818.subclass: - return OccupancyType818.subclass(*args_, **kwargs_) - else: - return OccupancyType818(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MinAge(self): - return self.MinAge - def set_MinAge(self, MinAge): - self.MinAge = MinAge - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinOccupancy(self): - return self.MinOccupancy - def set_MinOccupancy(self, MinOccupancy): - self.MinOccupancy = MinOccupancy - def get_MaxOccupancy(self): - return self.MaxOccupancy - def set_MaxOccupancy(self, MaxOccupancy): - self.MaxOccupancy = MaxOccupancy - def validate_AgeQualifyingCodeType819(self, value): - # Validate type AgeQualifyingCodeType819, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['8', '10'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on AgeQualifyingCodeType819' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType818', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('OccupancyType818') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'OccupancyType818': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OccupancyType818') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OccupancyType818', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OccupancyType818'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.AgeQualifyingCode), input_name='AgeQualifyingCode')), )) - if self.MinAge is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - outfile.write(' MinAge="%s"' % self.gds_format_integer(self.MinAge, input_name='MinAge')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinOccupancy is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - outfile.write(' MinOccupancy="%s"' % self.gds_format_integer(self.MinOccupancy, input_name='MinOccupancy')) - if self.MaxOccupancy is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - outfile.write(' MaxOccupancy="%s"' % self.gds_format_integer(self.MaxOccupancy, input_name='MaxOccupancy')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OccupancyType818', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = value - self.validate_AgeQualifyingCodeType819(self.AgeQualifyingCode) # validate type AgeQualifyingCodeType819 - value = find_attr_value_('MinAge', node) - if value is not None and 'MinAge' not in already_processed: - already_processed.add('MinAge') - self.MinAge = self.gds_parse_integer(value, node, 'MinAge') - if self.MinAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MinAge) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinOccupancy', node) - if value is not None and 'MinOccupancy' not in already_processed: - already_processed.add('MinOccupancy') - self.MinOccupancy = self.gds_parse_integer(value, node, 'MinOccupancy') - if self.MinOccupancy < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinOccupancy) # validate type def_int_ge0 - value = find_attr_value_('MaxOccupancy', node) - if value is not None and 'MaxOccupancy' not in already_processed: - already_processed.add('MaxOccupancy') - self.MaxOccupancy = self.gds_parse_integer(value, node, 'MaxOccupancy') - if self.MaxOccupancy <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxOccupancy) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class OccupancyType818 - - -class DiscountType822(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Percent = _cast(None, Percent) - self.Percent_nsprefix_ = None - self.NightsRequired = _cast(int, NightsRequired) - self.NightsRequired_nsprefix_ = None - self.NightsDiscounted = _cast(int, NightsDiscounted) - self.NightsDiscounted_nsprefix_ = None - self.DiscountPattern = _cast(None, DiscountPattern) - self.DiscountPattern_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DiscountType822) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DiscountType822.subclass: - return DiscountType822.subclass(*args_, **kwargs_) - else: - return DiscountType822(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Percent(self): - return self.Percent - def set_Percent(self, Percent): - self.Percent = Percent - def get_NightsRequired(self): - return self.NightsRequired - def set_NightsRequired(self, NightsRequired): - self.NightsRequired = NightsRequired - def get_NightsDiscounted(self): - return self.NightsDiscounted - def set_NightsDiscounted(self, NightsDiscounted): - self.NightsDiscounted = NightsDiscounted - def get_DiscountPattern(self): - return self.DiscountPattern - def set_DiscountPattern(self, DiscountPattern): - self.DiscountPattern = DiscountPattern - def validate_PercentType823(self, value): - # Validate type PercentType823, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['100'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on PercentType823' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_DiscountPatternType824(self, value): - # Validate type DiscountPatternType824, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_DiscountPatternType824_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_DiscountPatternType824_patterns_, )) - validate_DiscountPatternType824_patterns_ = [['^(0*1*)$']] - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType822', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DiscountType822') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DiscountType822': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DiscountType822') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DiscountType822', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DiscountType822'): - if self.Percent is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - outfile.write(' Percent=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Percent), input_name='Percent')), )) - if self.NightsRequired is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - outfile.write(' NightsRequired="%s"' % self.gds_format_integer(self.NightsRequired, input_name='NightsRequired')) - if self.NightsDiscounted is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - outfile.write(' NightsDiscounted="%s"' % self.gds_format_integer(self.NightsDiscounted, input_name='NightsDiscounted')) - if self.DiscountPattern is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - outfile.write(' DiscountPattern=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.DiscountPattern), input_name='DiscountPattern')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DiscountType822', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Percent', node) - if value is not None and 'Percent' not in already_processed: - already_processed.add('Percent') - self.Percent = value - self.validate_PercentType823(self.Percent) # validate type PercentType823 - value = find_attr_value_('NightsRequired', node) - if value is not None and 'NightsRequired' not in already_processed: - already_processed.add('NightsRequired') - self.NightsRequired = self.gds_parse_integer(value, node, 'NightsRequired') - if self.NightsRequired <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsRequired) # validate type def_int_gt0 - value = find_attr_value_('NightsDiscounted', node) - if value is not None and 'NightsDiscounted' not in already_processed: - already_processed.add('NightsDiscounted') - self.NightsDiscounted = self.gds_parse_integer(value, node, 'NightsDiscounted') - if self.NightsDiscounted <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.NightsDiscounted) # validate type def_int_gt0 - value = find_attr_value_('DiscountPattern', node) - if value is not None and 'DiscountPattern' not in already_processed: - already_processed.add('DiscountPattern') - self.DiscountPattern = value - self.validate_DiscountPatternType824(self.DiscountPattern) # validate type DiscountPatternType824 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class DiscountType822 - - -class GuestsType825(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Guest=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Guest = Guest - self.Guest_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestsType825) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestsType825.subclass: - return GuestsType825.subclass(*args_, **kwargs_) - else: - return GuestsType825(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Guest(self): - return self.Guest - def set_Guest(self, Guest): - self.Guest = Guest - def has__content(self): - if ( - self.Guest is not None - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType825', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestsType825') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestsType825': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestsType825') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestsType825', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestsType825'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='GuestsType825', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.Guest is not None: - namespaceprefix_ = self.Guest_nsprefix_ + ':' if (UseCapturedNS_ and self.Guest_nsprefix_) else '' - self.Guest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Guest', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Guest': - obj_ = GuestType826.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Guest = obj_ - obj_.original_tagname_ = 'Guest' -# end class GuestsType825 - - -class GuestType826(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.AgeQualifyingCode = _cast(int, AgeQualifyingCode) - self.AgeQualifyingCode_nsprefix_ = None - self.MaxAge = _cast(int, MaxAge) - self.MaxAge_nsprefix_ = None - self.MinCount = _cast(int, MinCount) - self.MinCount_nsprefix_ = None - self.FirstQualifyingPosition = _cast(None, FirstQualifyingPosition) - self.FirstQualifyingPosition_nsprefix_ = None - self.LastQualifyingPosition = _cast(int, LastQualifyingPosition) - self.LastQualifyingPosition_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, GuestType826) - if subclass is not None: - return subclass(*args_, **kwargs_) - if GuestType826.subclass: - return GuestType826.subclass(*args_, **kwargs_) - else: - return GuestType826(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_AgeQualifyingCode(self): - return self.AgeQualifyingCode - def set_AgeQualifyingCode(self, AgeQualifyingCode): - self.AgeQualifyingCode = AgeQualifyingCode - def get_MaxAge(self): - return self.MaxAge - def set_MaxAge(self, MaxAge): - self.MaxAge = MaxAge - def get_MinCount(self): - return self.MinCount - def set_MinCount(self, MinCount): - self.MinCount = MinCount - def get_FirstQualifyingPosition(self): - return self.FirstQualifyingPosition - def set_FirstQualifyingPosition(self, FirstQualifyingPosition): - self.FirstQualifyingPosition = FirstQualifyingPosition - def get_LastQualifyingPosition(self): - return self.LastQualifyingPosition - def set_LastQualifyingPosition(self, LastQualifyingPosition): - self.LastQualifyingPosition = LastQualifyingPosition - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_int_ge0(self, value): - # Validate type def_int_ge0, a restriction on xs:nonNegativeInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_ge0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_ge0_patterns_, )) - validate_def_int_ge0_patterns_ = [['^([0-9]+)$']] - def validate_FirstQualifyingPositionType827(self, value): - # Validate type FirstQualifyingPositionType827, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['1'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on FirstQualifyingPositionType827' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType826', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('GuestType826') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'GuestType826': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GuestType826') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GuestType826', pretty_print=pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GuestType826'): - if self.AgeQualifyingCode is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - outfile.write(' AgeQualifyingCode="%s"' % self.gds_format_integer(self.AgeQualifyingCode, input_name='AgeQualifyingCode')) - if self.MaxAge is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - outfile.write(' MaxAge="%s"' % self.gds_format_integer(self.MaxAge, input_name='MaxAge')) - if self.MinCount is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - outfile.write(' MinCount="%s"' % self.gds_format_integer(self.MinCount, input_name='MinCount')) - if self.FirstQualifyingPosition is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - outfile.write(' FirstQualifyingPosition=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.FirstQualifyingPosition), input_name='FirstQualifyingPosition')), )) - if self.LastQualifyingPosition is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - outfile.write(' LastQualifyingPosition="%s"' % self.gds_format_integer(self.LastQualifyingPosition, input_name='LastQualifyingPosition')) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GuestType826', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('AgeQualifyingCode', node) - if value is not None and 'AgeQualifyingCode' not in already_processed: - already_processed.add('AgeQualifyingCode') - self.AgeQualifyingCode = self.gds_parse_integer(value, node, 'AgeQualifyingCode') - if self.AgeQualifyingCode <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.AgeQualifyingCode) # validate type def_int_gt0 - value = find_attr_value_('MaxAge', node) - if value is not None and 'MaxAge' not in already_processed: - already_processed.add('MaxAge') - self.MaxAge = self.gds_parse_integer(value, node, 'MaxAge') - if self.MaxAge <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.MaxAge) # validate type def_int_gt0 - value = find_attr_value_('MinCount', node) - if value is not None and 'MinCount' not in already_processed: - already_processed.add('MinCount') - self.MinCount = self.gds_parse_integer(value, node, 'MinCount') - if self.MinCount < 0: - raise_parse_error(node, 'Invalid NonNegativeInteger') - self.validate_def_int_ge0(self.MinCount) # validate type def_int_ge0 - value = find_attr_value_('FirstQualifyingPosition', node) - if value is not None and 'FirstQualifyingPosition' not in already_processed: - already_processed.add('FirstQualifyingPosition') - self.FirstQualifyingPosition = value - self.validate_FirstQualifyingPositionType827(self.FirstQualifyingPosition) # validate type FirstQualifyingPositionType827 - value = find_attr_value_('LastQualifyingPosition', node) - if value is not None and 'LastQualifyingPosition' not in already_processed: - already_processed.add('LastQualifyingPosition') - self.LastQualifyingPosition = self.gds_parse_integer(value, node, 'LastQualifyingPosition') - if self.LastQualifyingPosition <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.LastQualifyingPosition) # validate type def_int_gt0 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class GuestType826 - - -class DescriptionType828(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Name = _cast(None, Name) - self.Name_nsprefix_ = None - if ListItem is None: - self.ListItem = [] - else: - self.ListItem = ListItem - self.ListItem_nsprefix_ = None - if Image is None: - self.Image = [] - else: - self.Image = Image - self.Image_nsprefix_ = None - if Text is None: - self.Text = [] - else: - self.Text = Text - self.Text_nsprefix_ = None - if URL is None: - self.URL = [] - else: - self.URL = URL - self.URL_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, DescriptionType828) - if subclass is not None: - return subclass(*args_, **kwargs_) - if DescriptionType828.subclass: - return DescriptionType828.subclass(*args_, **kwargs_) - else: - return DescriptionType828(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_ListItem(self): - return self.ListItem - def set_ListItem(self, ListItem): - self.ListItem = ListItem - def add_ListItem(self, value): - self.ListItem.append(value) - def insert_ListItem_at(self, index, value): - self.ListItem.insert(index, value) - def replace_ListItem_at(self, index, value): - self.ListItem[index] = value - def get_Image(self): - return self.Image - def set_Image(self, Image): - self.Image = Image - def add_Image(self, value): - self.Image.append(value) - def insert_Image_at(self, index, value): - self.Image.insert(index, value) - def replace_Image_at(self, index, value): - self.Image[index] = value - def get_Text(self): - return self.Text - def set_Text(self, Text): - self.Text = Text - def add_Text(self, value): - self.Text.append(value) - def insert_Text_at(self, index, value): - self.Text.insert(index, value) - def replace_Text_at(self, index, value): - self.Text[index] = value - def get_URL(self): - return self.URL - def set_URL(self, URL): - self.URL = URL - def add_URL(self, value): - self.URL.append(value) - def insert_URL_at(self, index, value): - self.URL.insert(index, value) - def replace_URL_at(self, index, value): - self.URL[index] = value - def get_Name(self): - return self.Name - def set_Name(self, Name): - self.Name = Name - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_def_url_string(self, value): - result = True - # Validate type def_url_string, a restriction on xs:anyURI. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_url_string_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_url_string_patterns_, )) - result = False - return result - validate_def_url_string_patterns_ = [['^(https?://.+)$']] - def validate_NameType832(self, value): - # Validate type NameType832, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['title', 'intro', 'description', 'gallery', 'codelist'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on NameType832' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - self.ListItem or - self.Image or - self.Text or - self.URL - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType828', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('DescriptionType828') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'DescriptionType828': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DescriptionType828') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DescriptionType828', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DescriptionType828'): - if self.Name is not None and 'Name' not in already_processed: - already_processed.add('Name') - outfile.write(' Name=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Name), input_name='Name')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='DescriptionType828', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for ListItem_ in self.ListItem: - namespaceprefix_ = self.ListItem_nsprefix_ + ':' if (UseCapturedNS_ and self.ListItem_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sListItem>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ListItem_), input_name='ListItem')), namespaceprefix_ , eol_)) - for Image_ in self.Image: - namespaceprefix_ = self.Image_nsprefix_ + ':' if (UseCapturedNS_ and self.Image_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sImage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(Image_), input_name='Image')), namespaceprefix_ , eol_)) - for Text_ in self.Text: - namespaceprefix_ = self.Text_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_nsprefix_) else '' - Text_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text', pretty_print=pretty_print) - for URL_ in self.URL: - namespaceprefix_ = self.URL_nsprefix_ + ':' if (UseCapturedNS_ and self.URL_nsprefix_) else '' - showIndent(outfile, level, pretty_print) - outfile.write('<%sURL>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(URL_), input_name='URL')), namespaceprefix_ , eol_)) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Name', node) - if value is not None and 'Name' not in already_processed: - already_processed.add('Name') - self.Name = value - self.validate_NameType832(self.Name) # validate type NameType832 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'ListItem': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'ListItem') - value_ = self.gds_validate_string(value_, node, 'ListItem') - self.ListItem.append(value_) - self.ListItem_nsprefix_ = child_.prefix - # validate type def_nonempty_string - self.validate_def_nonempty_string(self.ListItem[-1]) - elif nodeName_ == 'Image': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'Image') - value_ = self.gds_validate_string(value_, node, 'Image') - self.Image.append(value_) - self.Image_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.Image[-1]) - elif nodeName_ == 'Text': - obj_ = TextType829.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Text.append(obj_) - obj_.original_tagname_ = 'Text' - elif nodeName_ == 'URL': - value_ = child_.text - value_ = self.gds_parse_string(value_, node, 'URL') - value_ = self.gds_validate_string(value_, node, 'URL') - self.URL.append(value_) - self.URL_nsprefix_ = child_.prefix - # validate type def_url_string - self.validate_def_url_string(self.URL[-1]) -# end class DescriptionType828 - - -class TextType829(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, TextFormat=None, Language=None, valueOf_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.TextFormat = _cast(None, TextFormat) - self.TextFormat_nsprefix_ = None - self.Language = _cast(None, Language) - self.Language_nsprefix_ = None - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, TextType829) - if subclass is not None: - return subclass(*args_, **kwargs_) - if TextType829.subclass: - return TextType829.subclass(*args_, **kwargs_) - else: - return TextType829(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_TextFormat(self): - return self.TextFormat - def set_TextFormat(self, TextFormat): - self.TextFormat = TextFormat - def get_Language(self): - return self.Language - def set_Language(self, Language): - self.Language = Language - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_nonempty_string(self, value): - result = True - # Validate type def_nonempty_string, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on def_nonempty_string' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - return result - def validate_TextFormatType830(self, value): - # Validate type TextFormatType830, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['PlainText', 'HTML'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TextFormatType830' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_LanguageType831(self, value): - # Validate type LanguageType831, a restriction on xs:language. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_LanguageType831_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_LanguageType831_patterns_, )) - validate_LanguageType831_patterns_ = [['^([a-z][a-z])$']] - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType829', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('TextType829') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'TextType829': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TextType829') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TextType829'): - if self.TextFormat is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - outfile.write(' TextFormat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.TextFormat), input_name='TextFormat')), )) - if self.Language is not None and 'Language' not in already_processed: - already_processed.add('Language') - outfile.write(' Language=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Language), input_name='Language')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TextType829', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('TextFormat', node) - if value is not None and 'TextFormat' not in already_processed: - already_processed.add('TextFormat') - self.TextFormat = value - self.validate_TextFormatType830(self.TextFormat) # validate type TextFormatType830 - value = find_attr_value_('Language', node) - if value is not None and 'Language' not in already_processed: - already_processed.add('Language') - self.Language = value - self.validate_LanguageType831(self.Language) # validate type LanguageType831 - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - pass -# end class TextType829 - - -class ErrorsType835(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Error=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Error is None: - self.Error = [] - else: - self.Error = Error - self.Error_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorsType835) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorsType835.subclass: - return ErrorsType835.subclass(*args_, **kwargs_) - else: - return ErrorsType835(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Error(self): - return self.Error - def set_Error(self, Error): - self.Error = Error - def add_Error(self, value): - self.Error.append(value) - def insert_Error_at(self, index, value): - self.Error.insert(index, value) - def replace_Error_at(self, index, value): - self.Error[index] = value - def has__content(self): - if ( - self.Error - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType835', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorsType835') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorsType835': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorsType835') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ErrorsType835', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorsType835'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='ErrorsType835', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Error_ in self.Error: - namespaceprefix_ = self.Error_nsprefix_ + ':' if (UseCapturedNS_ and self.Error_nsprefix_) else '' - Error_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Error', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Error': - obj_ = ErrorType836.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Error.append(obj_) - obj_.original_tagname_ = 'Error' -# end class ErrorsType835 - - -class ErrorType836(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(None, Type) - self.Type_nsprefix_ = None - self.Code = _cast(int, Code) - self.Code_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, ErrorType836) - if subclass is not None: - return subclass(*args_, **kwargs_) - if ErrorType836.subclass: - return ErrorType836.subclass(*args_, **kwargs_) - else: - return ErrorType836(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_Code(self): - return self.Code - def set_Code(self, Code): - self.Code = Code - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_TypeType837(self, value): - # Validate type TypeType837, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['11', '13'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on TypeType837' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType836', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('ErrorType836') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'ErrorType836': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ErrorType836') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ErrorType836'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Type), input_name='Type')), )) - if self.Code is not None and 'Code' not in already_processed: - already_processed.add('Code') - outfile.write(' Code="%s"' % self.gds_format_integer(self.Code, input_name='Code')) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ErrorType836', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = value - self.validate_TypeType837(self.Type) # validate type TypeType837 - value = find_attr_value_('Code', node) - if value is not None and 'Code' not in already_processed: - already_processed.add('Code') - self.Code = self.gds_parse_integer(value, node, 'Code') - if self.Code <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Code) # validate type def_int_gt0 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class ErrorType836 - - -class WarningsType838(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Warning=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - if Warning is None: - self.Warning = [] - else: - self.Warning = Warning - self.Warning_nsprefix_ = None - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningsType838) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningsType838.subclass: - return WarningsType838.subclass(*args_, **kwargs_) - else: - return WarningsType838(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Warning(self): - return self.Warning - def set_Warning(self, Warning): - self.Warning = Warning - def add_Warning(self, value): - self.Warning.append(value) - def insert_Warning_at(self, index, value): - self.Warning.insert(index, value) - def replace_Warning_at(self, index, value): - self.Warning[index] = value - def has__content(self): - if ( - self.Warning - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType838', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningsType838') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningsType838': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningsType838') - if self.has__content(): - outfile.write('>%s' % (eol_, )) - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='WarningsType838', pretty_print=pretty_print) - showIndent(outfile, level, pretty_print) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - else: - outfile.write('/>%s' % (eol_, )) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningsType838'): - pass - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://www.opentravel.org/OTA/2003/05" ', name_='WarningsType838', fromsubclass_=False, pretty_print=True): - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - for Warning_ in self.Warning: - namespaceprefix_ = self.Warning_nsprefix_ + ':' if (UseCapturedNS_ and self.Warning_nsprefix_) else '' - Warning_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Warning', pretty_print=pretty_print) - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - pass - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if nodeName_ == 'Warning': - obj_ = WarningType839.factory(parent_object_=self) - obj_.build(child_, gds_collector_=gds_collector_) - self.Warning.append(obj_) - obj_.original_tagname_ = 'Warning' -# end class WarningsType838 - - -class WarningType839(GeneratedsSuper): - __hash__ = GeneratedsSuper.__hash__ - subclass = None - superclass = None - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, gds_collector_=None, **kwargs_): - self.gds_collector_ = gds_collector_ - self.gds_elementtree_node_ = None - self.original_tagname_ = None - self.parent_object_ = kwargs_.get('parent_object_') - self.ns_prefix_ = None - self.Type = _cast(int, Type) - self.Type_nsprefix_ = None - self.RecordID = _cast(None, RecordID) - self.RecordID_nsprefix_ = None - self.Status = _cast(None, Status) - self.Status_nsprefix_ = None - self.valueOf_ = valueOf_ - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if CurrentSubclassModule_ is not None: - subclass = getSubclassFromModule_( - CurrentSubclassModule_, WarningType839) - if subclass is not None: - return subclass(*args_, **kwargs_) - if WarningType839.subclass: - return WarningType839.subclass(*args_, **kwargs_) - else: - return WarningType839(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ns_prefix_(self): - return self.ns_prefix_ - def set_ns_prefix_(self, ns_prefix): - self.ns_prefix_ = ns_prefix - def get_Type(self): - return self.Type - def set_Type(self, Type): - self.Type = Type - def get_RecordID(self): - return self.RecordID - def set_RecordID(self, RecordID): - self.RecordID = RecordID - def get_Status(self): - return self.Status - def set_Status(self, Status): - self.Status = Status - def get_valueOf_(self): return self.valueOf_ - def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def validate_def_int_gt0(self, value): - # Validate type def_int_gt0, a restriction on xs:positiveInteger. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, int): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) - return False - if not self.gds_validate_simple_patterns( - self.validate_def_int_gt0_patterns_, value): - self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_def_int_gt0_patterns_, )) - validate_def_int_gt0_patterns_ = [['^([0-9]+)$']] - def validate_StringLength1to64(self, value): - # Validate type StringLength1to64, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - if len(value) > 64: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - if len(value) < 1: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on StringLength1to64' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def validate_def_send_complete(self, value): - # Validate type def_send_complete, a restriction on xs:string. - if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: - if not isinstance(value, str): - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) - return False - value = value - enumerations = ['ALPINEBITS_SEND_HANDSHAKE', 'ALPINEBITS_SEND_FREEROOMS', 'ALPINEBITS_SEND_RATEPLANS', 'ALPINEBITS_SEND_INVENTORY'] - if value not in enumerations: - lineno = self.gds_get_node_lineno_() - self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd enumeration restriction on def_send_complete' % {"value" : encode_str_2_3(value), "lineno": lineno} ) - result = False - def has__content(self): - if ( - (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or - self.content_ - ): - return True - else: - return False - def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType839', pretty_print=True): - imported_ns_def_ = GenerateDSNamespaceDefs_.get('WarningType839') - if imported_ns_def_ is not None: - namespacedef_ = imported_ns_def_ - if pretty_print: - eol_ = '\n' - else: - eol_ = '' - if self.original_tagname_ is not None and name_ == 'WarningType839': - name_ = self.original_tagname_ - if UseCapturedNS_ and self.ns_prefix_: - namespaceprefix_ = self.ns_prefix_ + ':' - showIndent(outfile, level, pretty_print) - outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) - already_processed = set() - self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='WarningType839') - outfile.write('>') - self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) - outfile.write(self.convert_unicode(self.valueOf_)) - outfile.write('%s' % (namespaceprefix_, name_, eol_)) - def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='WarningType839'): - if self.Type is not None and 'Type' not in already_processed: - already_processed.add('Type') - outfile.write(' Type="%s"' % self.gds_format_integer(self.Type, input_name='Type')) - if self.RecordID is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - outfile.write(' RecordID=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.RecordID), input_name='RecordID')), )) - if self.Status is not None and 'Status' not in already_processed: - already_processed.add('Status') - outfile.write(' Status=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Status), input_name='Status')), )) - def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='WarningType839', fromsubclass_=False, pretty_print=True): - pass - def build(self, node, gds_collector_=None): - self.gds_collector_ = gds_collector_ - if SaveElementTreeNode: - self.gds_elementtree_node_ = node - already_processed = set() - self.ns_prefix_ = node.prefix - self._buildAttributes(node, node.attrib, already_processed) - self.valueOf_ = get_all_text_(node) - if node.text is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', node.text) - self.content_.append(obj_) - for child in node: - nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] - self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) - return self - def _buildAttributes(self, node, attrs, already_processed): - value = find_attr_value_('Type', node) - if value is not None and 'Type' not in already_processed: - already_processed.add('Type') - self.Type = self.gds_parse_integer(value, node, 'Type') - if self.Type <= 0: - raise_parse_error(node, 'Invalid PositiveInteger') - self.validate_def_int_gt0(self.Type) # validate type def_int_gt0 - value = find_attr_value_('RecordID', node) - if value is not None and 'RecordID' not in already_processed: - already_processed.add('RecordID') - self.RecordID = value - self.validate_StringLength1to64(self.RecordID) # validate type StringLength1to64 - value = find_attr_value_('Status', node) - if value is not None and 'Status' not in already_processed: - already_processed.add('Status') - self.Status = value - self.validate_def_send_complete(self.Status) # validate type def_send_complete - def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): - if not fromsubclass_ and child_.tail is not None: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.tail) - self.content_.append(obj_) - pass -# end class WarningType839 - - -# -# End data representation classes. -# - - -GDSClassesMapping = { -} - - -USAGE_TEXT = """ -Usage: python .py [ -s ] -""" - - -def usage(): - print(USAGE_TEXT) - sys.exit(1) - - -def get_root_tag(node): - tag = Tag_pattern_.match(node.tag).groups()[-1] - prefix_tag = TagNamePrefix + tag - rootClass = GDSClassesMapping.get(prefix_tag) - if rootClass is None: - rootClass = globals().get(prefix_tag) - return tag, rootClass - - -def get_required_ns_prefix_defs(rootNode): - '''Get all name space prefix definitions required in this XML doc. - Return a dictionary of definitions and a char string of definitions. - ''' - nsmap = { - prefix: uri - for node in rootNode.iter() - for (prefix, uri) in node.nsmap.items() - if prefix is not None - } - namespacedefs = ' '.join([ - 'xmlns:{}="{}"'.format(prefix, uri) - for prefix, uri in nsmap.items() - ]) - return nsmap, namespacedefs - - -def parse(inFileName, silence=False, print_warnings=True): - global CapturedNsmap_ - gds_collector = GdsCollector_() - parser = None - doc = parsexml_(inFileName, parser) - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode) - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - sys.stdout.write('\n') - rootObj.export( - sys.stdout, 0, name_=rootTag, - namespacedef_=namespacedefs, - pretty_print=True) - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj - - -def parseEtree(inFileName, silence=False, print_warnings=True, - mapping=None, reverse_mapping=None, nsmap=None): - parser = None - doc = parsexml_(inFileName, parser) - gds_collector = GdsCollector_() - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - if mapping is None: - mapping = {} - if reverse_mapping is None: - reverse_mapping = {} - rootElement = rootObj.to_etree( - None, name_=rootTag, mapping_=mapping, - reverse_mapping_=reverse_mapping, nsmap_=nsmap) - reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - content = etree_.tostring( - rootElement, pretty_print=True, - xml_declaration=True, encoding="utf-8") - sys.stdout.write(str(content)) - sys.stdout.write('\n') - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj, rootElement, mapping, reverse_node_mapping - - -def parseString(inString, silence=False, print_warnings=True): - '''Parse a string, create the object tree, and export it. - - Arguments: - - inString -- A string. This XML fragment should not start - with an XML declaration containing an encoding. - - silence -- A boolean. If False, export the object. - Returns -- The root object in the tree. - ''' - parser = None - rootNode= parsexmlstring_(inString, parser) - gds_collector = GdsCollector_() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - if not SaveElementTreeNode: - rootNode = None - if not silence: - sys.stdout.write('\n') - rootObj.export( - sys.stdout, 0, name_=rootTag, - namespacedef_='') - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj - - -def parseLiteral(inFileName, silence=False, print_warnings=True): - parser = None - doc = parsexml_(inFileName, parser) - gds_collector = GdsCollector_() - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode, gds_collector_=gds_collector) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - sys.stdout.write('#from alpine_bits_classes import *\n\n') - sys.stdout.write('import alpine_bits_classes as model_\n\n') - sys.stdout.write('rootObj = model_.rootClass(\n') - rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) - sys.stdout.write(')\n') - if print_warnings and len(gds_collector.get_messages()) > 0: - separator = ('-' * 50) + '\n' - sys.stderr.write(separator) - sys.stderr.write('----- Warnings -- count: {} -----\n'.format( - len(gds_collector.get_messages()), )) - gds_collector.write_messages(sys.stderr) - sys.stderr.write(separator) - return rootObj - - -def main(): - args = sys.argv[1:] - if len(args) == 1: - parse(args[0]) - else: - usage() - - -if __name__ == '__main__': - #import pdb; pdb.set_trace() - main() - -RenameMappings_ = { -} - -# -# Mapping of namespaces to types defined in them -# and the file in which each is defined. -# simpleTypes are marked "ST" and complexTypes "CT". -NamespaceToDefMappings_ = {'http://www.opentravel.org/OTA/2003/05': [('def_send_complete', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_nonempty_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_any_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_uppercase_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_email_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_invTypeCode_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_url_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_three_char_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_one_to_sixteen_chars_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_one_to_thirty_two_chars_string', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_int_gt0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_int_ge0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_decimal_ge0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_decimal_gt0', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_date', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_datetime', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_bool', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('def_alpinebits_code', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('TimeUnitType', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('DateOrTimeOrDateTimeType', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('DateOrDateTimeType', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to8', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to32', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to64', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to128', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to180', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength0to255', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to8', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to16', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to32', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to64', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to128', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength1to255', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('StringLength3', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to4', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to10', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to99', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric0to9999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to3', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to4', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to99', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('Numeric1to9999', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to16', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to19', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength2', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength4', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to3', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to5', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength1to8', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST'), - ('NumericStringLength15to50', - '../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd', - 'ST')]} - -__all__ = [ - "AcceptedPaymentType", - "AcceptedPaymentType152", - "AcceptedPaymentType242", - "AcceptedPaymentType358", - "AcceptedPaymentType603", - "AcceptedPaymentType726", - "AcceptedPaymentsType", - "AcceptedPaymentsType151", - "AcceptedPaymentsType241", - "AcceptedPaymentsType357", - "AcceptedPaymentsType602", - "AcceptedPaymentsType725", - "AdditionalGuestAmountType", - "AdditionalGuestAmountType466", - "AdditionalGuestAmountType785", - "AdditionalGuestAmountsType", - "AdditionalGuestAmountsType465", - "AdditionalGuestAmountsType784", - "AddressInfoType", - "AddressInfoType175", - "AddressInfoType626", - "AddressType", - "AddressType132", - "AddressType248", - "AddressType382", - "AddressType583", - "AddressType750", - "AddressesType", - "AddressesType381", - "AddressesType749", - "AffiliationInfoType", - "AffiliationInfoType376", - "AffiliationInfoType744", - "AmenitiesType", - "AmenitiesType310", - "AmenitiesType678", - "AmenityType", - "AmenityType311", - "AmenityType679", - "AmountPercentType", - "AmountPercentType164", - "AmountPercentType247", - "AmountPercentType368", - "AmountPercentType615", - "AmountPercentType736", - "ArrivalDaysOfWeekType", - "ArrivalDaysOfWeekType426", - "ArrivalDaysOfWeekType454", - "ArrivalDaysOfWeekType497", - "ArrivalDaysOfWeekType773", - "ArrivalDaysOfWeekType816", - "AttendeeInfoType", - "AwardType", - "AwardType378", - "AwardType746", - "AwardsType", - "AwardsType377", - "AwardsType745", - "BankAcctNameType", - "BankAcctNameType360", - "BankAcctNameType728", - "BankAcctNumberType", - "BankAcctNumberType160", - "BankAcctNumberType244", - "BankAcctNumberType361", - "BankAcctNumberType611", - "BankAcctNumberType729", - "BankAcctType", - "BankAcctType159", - "BankAcctType243", - "BankAcctType359", - "BankAcctType610", - "BankAcctType727", - "BankIDType", - "BankIDType363", - "BankIDType731", - "BaseByGuestAmtType", - "BaseByGuestAmtType463", - "BaseByGuestAmtType782", - "BaseByGuestAmtsType", - "BaseByGuestAmtsType462", - "BaseByGuestAmtsType781", - "BaseType", - "BaseType535", - "BaseType84", - "BasicPropertyInfoType", - "BasicPropertyInfoType182", - "BasicPropertyInfoType633", - "BookingRuleType", - "BookingRuleType448", - "BookingRuleType767", - "BookingRulesType", - "BookingRulesType447", - "BookingRulesType766", - "CancelPenaltiesType", - "CancelPenaltiesType165", - "CancelPenaltiesType616", - "CancelPenaltyType", - "CancelPenaltyType166", - "CancelPenaltyType223", - "CancelPenaltyType329", - "CancelPenaltyType617", - "CancelPenaltyType697", - "CancelPolicyType", - "CancelPolicyType328", - "CancelPolicyType696", - "CardNumberType", - "CardNumberType154", - "CardNumberType40", - "CardNumberType546", - "CardNumberType605", - "CardNumberType95", - "CardTypeType", - "CardTypeType367", - "CardTypeType735", - "CashType", - "CashType365", - "CashType733", - "CategoryCodesType", - "CategoryCodesType270", - "CategoryCodesType638", - "CategoryType", - "CheckoutChargeType", - "CheckoutChargeType335", - "CheckoutChargeType703", - "CheckoutChargesType", - "CheckoutChargesType334", - "CheckoutChargesType702", - "CommentType", - "CommentType109", - "CommentType140", - "CommentType23", - "CommentType34", - "CommentType560", - "CommentType591", - "CommentsType", - "CommentsType108", - "CommentsType139", - "CommentsType22", - "CommentsType33", - "CommentsType559", - "CommentsType590", - "CommissionPayableAmountType", - "CommissionPayableAmountType527", - "CommissionPayableAmountType76", - "CommissionType", - "CommissionType526", - "CommissionType75", - "CompanyInfoType", - "CompanyInfoType173", - "CompanyInfoType624", - "CompanyNameType", - "CompanyNameType174", - "CompanyNameType255", - "CompanyNameType394", - "CompanyNameType625", - "CompanyNameType762", - "ContactInfoType", - "ContactInfoType380", - "ContactInfoType748", - "ContactInfosType", - "ContactInfosType379", - "ContactInfosType747", - "CountryNameType", - "CountryNameType133", - "CountryNameType176", - "CountryNameType249", - "CountryNameType384", - "CountryNameType47", - "CountryNameType584", - "CountryNameType627", - "CountryNameType752", - "CustomerType", - "CustomerType125", - "CustomerType576", - "DOW_RestrictionsType", - "DOW_RestrictionsType425", - "DOW_RestrictionsType453", - "DOW_RestrictionsType496", - "DOW_RestrictionsType772", - "DOW_RestrictionsType815", - "DateRangeType", - "DateType", - "DatesType", - "DeadlineType", - "DeadlineType369", - "DeadlineType737", - "DepartureDaysOfWeekType", - "DepartureDaysOfWeekType427", - "DepartureDaysOfWeekType455", - "DepartureDaysOfWeekType498", - "DepartureDaysOfWeekType774", - "DepartureDaysOfWeekType817", - "DepositPaymentsType", - "DepositPaymentsType149", - "DepositPaymentsType600", - "DescriptionType", - "DescriptionType197", - "DescriptionType202", - "DescriptionType213", - "DescriptionType219", - "DescriptionType228", - "DescriptionType232", - "DescriptionType277", - "DescriptionType285", - "DescriptionType293", - "DescriptionType316", - "DescriptionType322", - "DescriptionType336", - "DescriptionType342", - "DescriptionType415", - "DescriptionType428", - "DescriptionType480", - "DescriptionType509", - "DescriptionType645", - "DescriptionType653", - "DescriptionType661", - "DescriptionType684", - "DescriptionType690", - "DescriptionType704", - "DescriptionType710", - "DescriptionType799", - "DescriptionType828", - "DescriptionsType", - "DescriptionsType272", - "DescriptionsType640", - "DiscountType", - "DiscountType503", - "DiscountType822", - "EmailType", - "EmailType130", - "EmailType253", - "EmailType391", - "EmailType581", - "EmailType759", - "EmailsType", - "EmailsType390", - "EmailsType758", - "EmployeeInfoType", - "EndDateWindowType", - "ErrorType", - "ErrorType12", - "ErrorType191", - "ErrorType258", - "ErrorType263", - "ErrorType434", - "ErrorType441", - "ErrorType52", - "ErrorType6", - "ErrorType61", - "ErrorType836", - "ErrorsType", - "ErrorsType11", - "ErrorsType190", - "ErrorsType257", - "ErrorsType262", - "ErrorsType433", - "ErrorsType440", - "ErrorsType5", - "ErrorsType51", - "ErrorsType60", - "ErrorsType835", - "EventContactType", - "EventContactsType", - "EventReportType", - "EventReportsType", - "EventSiteType", - "EventSitesType", - "Event_IDType", - "FacilityInfoType", - "FacilityInfoType305", - "FacilityInfoType673", - "FeatureType", - "FeatureType303", - "FeatureType671", - "FeaturesType", - "FeaturesType302", - "FeaturesType670", - "GeneralEventInfoType", - "GivenNameType", - "GuaranteeAcceptedType", - "GuaranteeAcceptedType544", - "GuaranteeAcceptedType93", - "GuaranteePaymentPolicyType", - "GuaranteePaymentPolicyType355", - "GuaranteePaymentPolicyType723", - "GuaranteePaymentType", - "GuaranteePaymentType150", - "GuaranteePaymentType240", - "GuaranteePaymentType356", - "GuaranteePaymentType601", - "GuaranteePaymentType724", - "GuaranteeType", - "GuaranteeType542", - "GuaranteeType91", - "GuaranteesAcceptedType", - "GuaranteesAcceptedType543", - "GuaranteesAcceptedType92", - "GuestCountType", - "GuestCountType106", - "GuestCountType20", - "GuestCountType538", - "GuestCountType557", - "GuestCountType87", - "GuestCountsType", - "GuestCountsType105", - "GuestCountsType19", - "GuestCountsType537", - "GuestCountsType556", - "GuestCountsType86", - "GuestRoomType", - "GuestRoomType307", - "GuestRoomType675", - "GuestRoomsType", - "GuestRoomsType306", - "GuestRoomsType674", - "GuestType", - "GuestType507", - "GuestType826", - "GuestsType", - "GuestsType506", - "GuestsType825", - "HotelCategoryType", - "HotelCategoryType271", - "HotelCategoryType639", - "HotelDescriptiveContentType", - "HotelDescriptiveContentType268", - "HotelDescriptiveContentType636", - "HotelDescriptiveContentsType", - "HotelDescriptiveContentsType267", - "HotelDescriptiveContentsType635", - "HotelDescriptiveInfoType", - "HotelDescriptiveInfosType", - "HotelInfoType", - "HotelInfoType269", - "HotelInfoType637", - "HotelNotifReportType", - "HotelReadRequestType", - "HotelRefType", - "HotelReservationIDType", - "HotelReservationIDType169", - "HotelReservationIDType620", - "HotelReservationIDsType", - "HotelReservationIDsType168", - "HotelReservationIDsType619", - "HotelReservationType", - "HotelReservationType187", - "HotelReservationType516", - "HotelReservationType57", - "HotelReservationType65", - "HotelReservationsType", - "HotelReservationsType186", - "HotelReservationsType56", - "ImageFormatType", - "ImageFormatType218", - "ImageFormatType282", - "ImageFormatType321", - "ImageFormatType650", - "ImageFormatType689", - "ImageItemType", - "ImageItemType217", - "ImageItemType281", - "ImageItemType320", - "ImageItemType649", - "ImageItemType688", - "ImageItemsType", - "ImageItemsType216", - "ImageItemsType280", - "ImageItemsType319", - "ImageItemsType648", - "ImageItemsType687", - "ImageType", - "InvCountType", - "InvCountsType", - "InventoriesType", - "InventoryType", - "LengthOfStayType", - "LengthOfStayType422", - "LengthOfStayType450", - "LengthOfStayType493", - "LengthOfStayType769", - "LengthOfStayType812", - "LengthsOfStayType", - "LengthsOfStayType421", - "LengthsOfStayType449", - "LengthsOfStayType492", - "LengthsOfStayType768", - "LengthsOfStayType811", - "ListItemType", - "ListItemType141", - "ListItemType407", - "ListItemType468", - "ListItemType592", - "ListItemType787", - "LocationCategoriesType", - "LocationType", - "MealsIncludedType", - "MealsIncludedType410", - "MealsIncludedType471", - "MealsIncludedType528", - "MealsIncludedType77", - "MealsIncludedType790", - "MultimediaDescriptionType", - "MultimediaDescriptionType210", - "MultimediaDescriptionType274", - "MultimediaDescriptionType313", - "MultimediaDescriptionType642", - "MultimediaDescriptionType681", - "MultimediaDescriptionsType", - "MultimediaDescriptionsType209", - "MultimediaDescriptionsType273", - "MultimediaDescriptionsType312", - "MultimediaDescriptionsType641", - "MultimediaDescriptionsType680", - "NotifDetailsType", - "OTA_HotelDescriptiveContentNotifRQ", - "OTA_HotelDescriptiveContentNotifRS", - "OTA_HotelDescriptiveInfoRQ", - "OTA_HotelDescriptiveInfoRS", - "OTA_HotelInvCountNotifRQ", - "OTA_HotelInvCountNotifRS", - "OTA_HotelPostEventNotifRQ", - "OTA_HotelPostEventNotifRS", - "OTA_HotelRatePlanNotifRQ", - "OTA_HotelRatePlanNotifRS", - "OTA_HotelRatePlanRQ", - "OTA_HotelRatePlanRS", - "OTA_HotelResNotifRQ", - "OTA_HotelResNotifRS", - "OTA_NotifReportRQ", - "OTA_NotifReportRS", - "OTA_PingRQ", - "OTA_PingRS", - "OTA_ReadRQ", - "OTA_ResRetrieveRS", - "OccupancyType", - "OccupancyType499", - "OccupancyType818", - "OfferRuleType", - "OfferRuleType491", - "OfferRuleType810", - "OfferRulesType", - "OfferRulesType490", - "OfferRulesType809", - "OfferType", - "OfferType489", - "OfferType808", - "OffersType", - "OffersType488", - "OffersType807", - "PaymentCardType", - "PaymentCardType153", - "PaymentCardType246", - "PaymentCardType366", - "PaymentCardType39", - "PaymentCardType545", - "PaymentCardType604", - "PaymentCardType734", - "PaymentCardType94", - "PenaltyDescriptionType", - "PenaltyDescriptionType167", - "PenaltyDescriptionType224", - "PenaltyDescriptionType330", - "PenaltyDescriptionType618", - "PenaltyDescriptionType698", - "PersonNameType", - "PersonNameType126", - "PersonNameType30", - "PersonNameType577", - "PetsPoliciesType", - "PetsPoliciesType340", - "PetsPoliciesType708", - "PetsPolicyType", - "PetsPolicyType341", - "PetsPolicyType709", - "PhoneType", - "PhoneType388", - "PhoneType756", - "PhonesType", - "PhonesType387", - "PhonesType755", - "PlainTextType", - "PlainTextType245", - "PlainTextType362", - "PlainTextType364", - "PlainTextType730", - "PlainTextType732", - "PoliciesType", - "PoliciesType326", - "PoliciesType694", - "PolicyInfoType", - "PolicyInfoType370", - "PolicyInfoType738", - "PolicyType", - "PolicyType327", - "PolicyType695", - "PositionType", - "PositionType298", - "PositionType666", - "PrerequisiteInventoryType", - "PrerequisiteInventoryType478", - "PrerequisiteInventoryType797", - "ProfileInfoType", - "ProfileInfoType123", - "ProfileInfoType171", - "ProfileInfoType45", - "ProfileInfoType574", - "ProfileInfoType622", - "ProfileType", - "ProfileType124", - "ProfileType172", - "ProfileType46", - "ProfileType575", - "ProfileType623", - "ProfilesType", - "ProfilesType122", - "ProfilesType170", - "ProfilesType44", - "ProfilesType573", - "ProfilesType621", - "RateDescriptionType", - "RateDescriptionType467", - "RateDescriptionType786", - "RatePlanCandidateType", - "RatePlanCandidatesType", - "RatePlanType", - "RatePlanType400", - "RatePlanType439", - "RatePlanType446", - "RatePlanType525", - "RatePlanType74", - "RatePlanType765", - "RatePlansType", - "RatePlansType399", - "RatePlansType438", - "RatePlansType445", - "RatePlansType524", - "RatePlansType73", - "RatePlansType764", - "RateType", - "RateType405", - "RateType461", - "RateType534", - "RateType780", - "RateType83", - "RatesType", - "RatesType404", - "RatesType460", - "RatesType533", - "RatesType779", - "RatesType82", - "ReadRequestsType", - "ResGlobalInfoType", - "ResGlobalInfoType138", - "ResGlobalInfoType589", - "ResGuestType", - "ResGuestType121", - "ResGuestType572", - "ResGuestsType", - "ResGuestsType120", - "ResGuestsType571", - "ReservationsListType", - "RestrictionStatusType", - "RestrictionStatusType456", - "RestrictionStatusType775", - "RoomRateType", - "RoomRateType532", - "RoomRateType81", - "RoomRatesType", - "RoomRatesType531", - "RoomRatesType80", - "RoomStayType", - "RoomStayType520", - "RoomStayType69", - "RoomStaysType", - "RoomStaysType519", - "RoomStaysType68", - "RoomTypeType", - "RoomTypeType522", - "RoomTypeType71", - "RoomTypesType", - "RoomTypesType521", - "RoomTypesType70", - "SelectionCriteriaType", - "ServiceDescriptionType", - "ServiceDescriptionType113", - "ServiceDescriptionType564", - "ServiceDetailsType", - "ServiceDetailsType104", - "ServiceDetailsType555", - "ServiceRPHType", - "ServiceRPHType100", - "ServiceRPHType551", - "ServiceRPHsType", - "ServiceRPHsType550", - "ServiceRPHsType99", - "ServiceType", - "ServiceType103", - "ServiceType207", - "ServiceType301", - "ServiceType554", - "ServiceType669", - "ServicesType", - "ServicesType102", - "ServicesType206", - "ServicesType300", - "ServicesType553", - "ServicesType668", - "SpecialRequestType", - "SpecialRequestType145", - "SpecialRequestType596", - "SpecialRequestsType", - "SpecialRequestsType144", - "SpecialRequestsType595", - "StartDateWindowType", - "StartDateWindowType540", - "StartDateWindowType89", - "StateProvType", - "StateProvType383", - "StateProvType751", - "StatusApplicationControlType", - "StayRequirementType", - "StayRequirementType372", - "StayRequirementType740", - "StayRequirementsType", - "StayRequirementsType371", - "StayRequirementsType739", - "Success", - "SupplementType", - "SupplementType477", - "SupplementType796", - "SupplementsType", - "SupplementsType476", - "SupplementsType795", - "SurnameType", - "TaxDescriptionType", - "TaxDescriptionType348", - "TaxDescriptionType716", - "TaxPoliciesType", - "TaxPoliciesType346", - "TaxPoliciesType714", - "TaxPolicyType", - "TaxPolicyType347", - "TaxPolicyType715", - "TelephoneInfoType", - "TelephoneInfoType178", - "TelephoneInfoType629", - "TelephoneType", - "TelephoneType127", - "TelephoneType578", - "TextItemType", - "TextItemType212", - "TextItemType276", - "TextItemType315", - "TextItemType644", - "TextItemType683", - "TextItemsType", - "TextItemsType211", - "TextItemsType275", - "TextItemsType314", - "TextItemsType643", - "TextItemsType682", - "TextType", - "TextType110", - "TextType114", - "TextType146", - "TextType225", - "TextType229", - "TextType233", - "TextType236", - "TextType24", - "TextType26", - "TextType331", - "TextType337", - "TextType343", - "TextType349", - "TextType37", - "TextType416", - "TextType429", - "TextType481", - "TextType510", - "TextType561", - "TextType565", - "TextType597", - "TextType699", - "TextType705", - "TextType711", - "TextType717", - "TextType800", - "TextType829", - "TimeSpanType", - "TimeSpanType107", - "TimeSpanType21", - "TimeSpanType539", - "TimeSpanType558", - "TimeSpanType88", - "TotalType", - "TotalType112", - "TotalType25", - "TotalType549", - "TotalType563", - "TotalType98", - "TypeRoomType", - "TypeRoomType308", - "TypeRoomType676", - "URLType", - "URLType254", - "URLType393", - "URLType761", - "URLsType", - "URLsType392", - "URLsType760", - "UniqueIDType", - "UniqueIDType16", - "UniqueIDType188", - "UniqueIDType396", - "UniqueIDType517", - "UniqueIDType58", - "UniqueIDType66", - "VideoFormatType", - "VideoFormatType291", - "VideoFormatType659", - "VideoItemType", - "VideoItemType290", - "VideoItemType658", - "VideoItemsType", - "VideoItemsType289", - "VideoItemsType657", - "VoucherType", - "VoucherType162", - "VoucherType613", - "WarningType", - "WarningType15", - "WarningType185", - "WarningType194", - "WarningType261", - "WarningType266", - "WarningType437", - "WarningType444", - "WarningType55", - "WarningType64", - "WarningType839", - "WarningType9", - "WarningsType", - "WarningsType14", - "WarningsType184", - "WarningsType193", - "WarningsType260", - "WarningsType265", - "WarningsType436", - "WarningsType443", - "WarningsType54", - "WarningsType63", - "WarningsType8", - "WarningsType838" -] diff --git a/src/generated/__init__.py b/src/generated/__init__.py new file mode 100644 index 0000000..f34da4d --- /dev/null +++ b/src/generated/__init__.py @@ -0,0 +1,161 @@ +from generated.alpinebits import ( + BaseByGuestAmtType, + BookingRuleCodeContext, + CommentName1, + CommentName2, + ContactInfoLocation, + DefSendComplete, + DescriptionName, + DescriptionTextFormat1, + DescriptionTextFormat2, + DiscountPercent, + ErrorStatus, + ErrorType, + EventIdType, + GuestFirstQualifyingPosition, + HotelReservationResStatus, + ImageItemCategory, + InvCountCountType, + LengthOfStayMinMaxMessageType1, + LengthOfStayMinMaxMessageType2, + LengthOfStayTimeUnit, + MealsIncludedMealPlanCodes, + MealsIncludedMealPlanIndicator, + MultimediaDescriptionInfoCode1, + MultimediaDescriptionInfoCode2, + OccupancyAgeQualifyingCode, + OtaHotelDescriptiveContentNotifRq, + OtaHotelDescriptiveContentNotifRs, + OtaHotelDescriptiveInfoRq, + OtaHotelDescriptiveInfoRs, + OtaHotelInvCountNotifRq, + OtaHotelInvCountNotifRs, + OtaHotelPostEventNotifRq, + OtaHotelPostEventNotifRs, + OtaHotelRatePlanNotifRq, + OtaHotelRatePlanNotifRs, + OtaHotelRatePlanRq, + OtaHotelRatePlanRs, + OtaHotelResNotifRq, + OtaHotelResNotifRs, + OtaNotifReportRq, + OtaNotifReportRs, + OtaPingRq, + OtaPingRs, + OtaReadRq, + OtaResRetrieveRs, + PositionAltitudeUnitOfMeasureCode, + PrerequisiteInventoryInvType, + ProfileProfileType, + RateDescriptionName, + RatePlanRatePlanNotifType, + RatePlanRatePlanType, + RateRateTimeUnit, + RestrictionStatusRestriction, + RestrictionStatusStatus, + RoomTypeRoomType, + ServiceMealPlanCode, + ServiceServiceCategoryCode, + ServiceServicePricingType, + ServiceType, + SpecialRequestCodeContext, + StayRequirementStayContext, + SupplementAddToBasicRateIndicator, + SupplementChargeTypeCode, + SupplementInvType, + TaxPolicyChargeFrequency, + TaxPolicyChargeUnit, + TaxPolicyCode, + TextTextFormat1, + TextTextFormat2, + TimeUnitType, + TypeRoomRoomType, + UniqueIdInstance, + UniqueIdType1, + UniqueIdType2, + UniqueIdType3, + UrlType, + VideoItemCategory, + WarningStatus, +) + +__all__ = [ + "BaseByGuestAmtType", + "BookingRuleCodeContext", + "CommentName1", + "CommentName2", + "ContactInfoLocation", + "DescriptionName", + "DescriptionTextFormat1", + "DescriptionTextFormat2", + "DiscountPercent", + "ErrorStatus", + "ErrorType", + "EventIdType", + "GuestFirstQualifyingPosition", + "HotelReservationResStatus", + "ImageItemCategory", + "InvCountCountType", + "LengthOfStayMinMaxMessageType1", + "LengthOfStayMinMaxMessageType2", + "LengthOfStayTimeUnit", + "MealsIncludedMealPlanCodes", + "MealsIncludedMealPlanIndicator", + "MultimediaDescriptionInfoCode1", + "MultimediaDescriptionInfoCode2", + "OtaHotelDescriptiveContentNotifRq", + "OtaHotelDescriptiveContentNotifRs", + "OtaHotelDescriptiveInfoRq", + "OtaHotelDescriptiveInfoRs", + "OtaHotelInvCountNotifRq", + "OtaHotelInvCountNotifRs", + "OtaHotelPostEventNotifRq", + "OtaHotelPostEventNotifRs", + "OtaHotelRatePlanNotifRq", + "OtaHotelRatePlanNotifRs", + "OtaHotelRatePlanRq", + "OtaHotelRatePlanRs", + "OtaHotelResNotifRq", + "OtaHotelResNotifRs", + "OtaNotifReportRq", + "OtaNotifReportRs", + "OtaPingRq", + "OtaPingRs", + "OtaReadRq", + "OtaResRetrieveRs", + "OccupancyAgeQualifyingCode", + "PositionAltitudeUnitOfMeasureCode", + "PrerequisiteInventoryInvType", + "ProfileProfileType", + "RateDescriptionName", + "RatePlanRatePlanNotifType", + "RatePlanRatePlanType", + "RateRateTimeUnit", + "RestrictionStatusRestriction", + "RestrictionStatusStatus", + "RoomTypeRoomType", + "ServiceMealPlanCode", + "ServiceServiceCategoryCode", + "ServiceServicePricingType", + "ServiceType", + "SpecialRequestCodeContext", + "StayRequirementStayContext", + "SupplementAddToBasicRateIndicator", + "SupplementChargeTypeCode", + "SupplementInvType", + "TaxPolicyChargeFrequency", + "TaxPolicyChargeUnit", + "TaxPolicyCode", + "TextTextFormat1", + "TextTextFormat2", + "TimeUnitType", + "TypeRoomRoomType", + "UrlType", + "UniqueIdInstance", + "UniqueIdType1", + "UniqueIdType2", + "UniqueIdType3", + "VideoItemCategory", + "WarningStatus", + "DefSendComplete", +] diff --git a/src/generated/alpinebits.py b/src/generated/alpinebits.py new file mode 100644 index 0000000..004bbf9 --- /dev/null +++ b/src/generated/alpinebits.py @@ -0,0 +1,13801 @@ +from decimal import Decimal +from enum import Enum +from typing import Optional, Union + +from pydantic import BaseModel, ConfigDict +from xsdata.models.datatype import XmlDate, XmlDateTime, XmlTime +from xsdata_pydantic.fields import field + +__NAMESPACE__ = "http://www.opentravel.org/OTA/2003/05" + + +class BaseByGuestAmtType(Enum): + VALUE_7 = "7" + VALUE_25 = "25" + + +class BookingRuleCodeContext(Enum): + ROOMTYPE = "ROOMTYPE" + + +class CommentName1(Enum): + TITLE = "Title" + CATEGORY = "Category" + GALLERY = "Gallery" + DESCRIPTION = "Description" + + +class CommentName2(Enum): + INCLUDED_SERVICES = "included services" + CUSTOMER_COMMENT = "customer comment" + ADDITIONAL_INFO = "additional info" + + +class ContactInfoLocation(Enum): + VALUE_6 = "6" + + +class DescriptionName(Enum): + TITLE = "title" + INTRO = "intro" + DESCRIPTION = "description" + GALLERY = "gallery" + CODELIST = "codelist" + + +class DescriptionTextFormat1(Enum): + PLAIN_TEXT = "PlainText" + HTML = "HTML" + + +class DescriptionTextFormat2(Enum): + PLAIN_TEXT = "PlainText" + + +class DiscountPercent(Enum): + VALUE_100 = "100" + + +class ErrorStatus(Enum): + ALPINEBITS_HANDSHAKE = "ALPINEBITS_HANDSHAKE" + + +class ErrorType(Enum): + VALUE_11 = "11" + VALUE_13 = "13" + + +class EventIdType(Enum): + VALUE_18 = "18" + + +class GuestFirstQualifyingPosition(Enum): + VALUE_1 = "1" + + +class HotelReservationResStatus(Enum): + REQUESTED = "Requested" + RESERVED = "Reserved" + CANCELLED = "Cancelled" + MODIFY = "Modify" + + +class ImageItemCategory(Enum): + VALUE_1 = "1" + VALUE_2 = "2" + VALUE_4 = "4" + VALUE_12 = "12" + VALUE_15 = "15" + VALUE_22 = "22" + + +class InvCountCountType(Enum): + VALUE_2 = "2" + VALUE_6 = "6" + VALUE_9 = "9" + + +class LengthOfStayMinMaxMessageType1(Enum): + SET_MIN_LOS = "SetMinLOS" + SET_FORWARD_MIN_STAY = "SetForwardMinStay" + SET_MAX_LOS = "SetMaxLOS" + SET_FORWARD_MAX_STAY = "SetForwardMaxStay" + + +class LengthOfStayMinMaxMessageType2(Enum): + SET_MIN_LOS = "SetMinLOS" + SET_MAX_LOS = "SetMaxLOS" + VALUE = "" + + +class LengthOfStayTimeUnit(Enum): + DAY = "Day" + + +class MealsIncludedMealPlanCodes(Enum): + VALUE_1 = "1" + VALUE_3 = "3" + VALUE_10 = "10" + VALUE_12 = "12" + VALUE_14 = "14" + + +class MealsIncludedMealPlanIndicator(Enum): + VALUE_1 = "1" + TRUE = "true" + + +class MultimediaDescriptionInfoCode1(Enum): + VALUE_1 = "1" + VALUE_17 = "17" + VALUE_23 = "23" + VALUE_24 = "24" + + +class MultimediaDescriptionInfoCode2(Enum): + VALUE_1 = "1" + VALUE_23 = "23" + VALUE_25 = "25" + + +class OtaHotelDescriptiveInfoRq(BaseModel): + class Meta: + name = "OTA_HotelDescriptiveInfoRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + hotel_descriptive_infos: "OtaHotelDescriptiveInfoRq.HotelDescriptiveInfos" = field( + metadata={ + "name": "HotelDescriptiveInfos", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class HotelDescriptiveInfos(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_descriptive_info: "OtaHotelDescriptiveInfoRq.HotelDescriptiveInfos.HotelDescriptiveInfo" = field( + metadata={ + "name": "HotelDescriptiveInfo", + "type": "Element", + "required": True, + } + ) + + class HotelDescriptiveInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + +class OtaHotelRatePlanRq(BaseModel): + class Meta: + name = "OTA_HotelRatePlanRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + rate_plans: "OtaHotelRatePlanRq.RatePlans" = field( + metadata={ + "name": "RatePlans", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class RatePlans(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan: "OtaHotelRatePlanRq.RatePlans.RatePlan" = field( + metadata={ + "name": "RatePlan", + "type": "Element", + "required": True, + } + ) + + class RatePlan(BaseModel): + model_config = ConfigDict(defer_build=True) + date_range: list[ + "OtaHotelRatePlanRq.RatePlans.RatePlan.DateRange" + ] = field( + default_factory=list, + metadata={ + "name": "DateRange", + "type": "Element", + }, + ) + rate_plan_candidates: list[ + "OtaHotelRatePlanRq.RatePlans.RatePlan.RatePlanCandidates" + ] = field( + default_factory=list, + metadata={ + "name": "RatePlanCandidates", + "type": "Element", + }, + ) + hotel_ref: list[ + "OtaHotelRatePlanRq.RatePlans.RatePlan.HotelRef" + ] = field( + default_factory=list, + metadata={ + "name": "HotelRef", + "type": "Element", + }, + ) + + class DateRange(BaseModel): + model_config = ConfigDict(defer_build=True) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class RatePlanCandidates(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan_candidate: list[ + "OtaHotelRatePlanRq.RatePlans.RatePlan.RatePlanCandidates.RatePlanCandidate" + ] = field( + default_factory=list, + metadata={ + "name": "RatePlanCandidate", + "type": "Element", + "min_occurs": 1, + }, + ) + + class RatePlanCandidate(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan_code: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_id: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class HotelRef(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + +class OtaPingRq(BaseModel): + class Meta: + name = "OTA_PingRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + echo_data: str = field( + metadata={ + "name": "EchoData", + "type": "Element", + "required": True, + "min_length": 1, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + +class OtaReadRq(BaseModel): + class Meta: + name = "OTA_ReadRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + read_requests: "OtaReadRq.ReadRequests" = field( + metadata={ + "name": "ReadRequests", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class ReadRequests(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_read_request: "OtaReadRq.ReadRequests.HotelReadRequest" = field( + metadata={ + "name": "HotelReadRequest", + "type": "Element", + "required": True, + } + ) + + class HotelReadRequest(BaseModel): + model_config = ConfigDict(defer_build=True) + selection_criteria: Optional[ + "OtaReadRq.ReadRequests.HotelReadRequest.SelectionCriteria" + ] = field( + default=None, + metadata={ + "name": "SelectionCriteria", + "type": "Element", + }, + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + class SelectionCriteria(BaseModel): + model_config = ConfigDict(defer_build=True) + start: str = field( + metadata={ + "name": "Start", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + + +class OccupancyAgeQualifyingCode(Enum): + VALUE_8 = "8" + VALUE_10 = "10" + + +class PositionAltitudeUnitOfMeasureCode(Enum): + VALUE_3 = "3" + + +class PrerequisiteInventoryInvType(Enum): + ALPINEBITSDOW = "ALPINEBITSDOW" + ROOMTYPE = "ROOMTYPE" + + +class ProfileProfileType(Enum): + VALUE_4 = "4" + + +class RateDescriptionName(Enum): + INCLUDED_SERVICES = "included services" + + +class RatePlanRatePlanNotifType(Enum): + OVERLAY = "Overlay" + NEW = "New" + FULL = "Full" + REMOVE = "Remove" + + +class RatePlanRatePlanType(Enum): + VALUE_12 = "12" + + +class RateRateTimeUnit(Enum): + DAY = "Day" + + +class RestrictionStatusRestriction(Enum): + MASTER = "Master" + + +class RestrictionStatusStatus(Enum): + OPEN = "Open" + CLOSE = "Close" + + +class RoomTypeRoomType(Enum): + VALUE_1 = "1" + VALUE_2 = "2" + VALUE_3 = "3" + VALUE_4 = "4" + VALUE_5 = "5" + VALUE_6 = "6" + VALUE_7 = "7" + VALUE_8 = "8" + VALUE_9 = "9" + + +class ServiceMealPlanCode(Enum): + VALUE_12 = "12" + + +class ServiceServiceCategoryCode(Enum): + BOARD = "BOARD" + SUPPLEMENT = "SUPPLEMENT" + SPA = "SPA" + FOOD = "FOOD" + BEVERAGE = "BEVERAGE" + ACTIVITY = "ACTIVITY" + TOURISTTAX = "TOURISTTAX" + TRANSFER = "TRANSFER" + OTHER = "OTHER" + + +class ServiceServicePricingType(Enum): + PER_NIGHT = "Per night" + PER_PERSON = "Per person" + PER_PERSON_PER_NIGHT = "Per person per night" + PER_STAY = "Per stay" + PER_USE = "Per use" + + +class ServiceType(Enum): + VALUE_16 = "16" + + +class SpecialRequestCodeContext(Enum): + ALPINEBITS = "ALPINEBITS" + HOTEL = "HOTEL" + + +class StayRequirementStayContext(Enum): + CHECKIN = "Checkin" + CHECKOUT = "Checkout" + + +class SupplementAddToBasicRateIndicator(Enum): + VALUE_1 = "1" + TRUE = "true" + + +class SupplementChargeTypeCode(Enum): + VALUE_1 = "1" + VALUE_12 = "12" + VALUE_18 = "18" + VALUE_19 = "19" + VALUE_20 = "20" + VALUE_21 = "21" + VALUE_24 = "24" + + +class SupplementInvType(Enum): + EXTRA = "EXTRA" + ALPINEBITSEXTRA = "ALPINEBITSEXTRA" + + +class TaxPolicyChargeFrequency(Enum): + VALUE_1 = "1" + + +class TaxPolicyChargeUnit(Enum): + VALUE_21 = "21" + + +class TaxPolicyCode(Enum): + VALUE_3 = "3" + + +class TextTextFormat1(Enum): + PLAIN_TEXT = "PlainText" + + +class TextTextFormat2(Enum): + PLAIN_TEXT = "PlainText" + HTML = "HTML" + + +class TimeUnitType(Enum): + """ + Defines the unit in which the time is expressed (e.g. year, day, hour). + """ + + YEAR = "Year" + MONTH = "Month" + WEEK = "Week" + DAY = "Day" + HOUR = "Hour" + SECOND = "Second" + FULL_DURATION = "FullDuration" + MINUTE = "Minute" + + +class TypeRoomRoomType(Enum): + VALUE_1 = "1" + VALUE_2 = "2" + VALUE_3 = "3" + VALUE_4 = "4" + VALUE_5 = "5" + VALUE_6 = "6" + VALUE_7 = "7" + VALUE_8 = "8" + VALUE_9 = "9" + + +class UrlType(Enum): + IMAGE = "Image" + + +class UniqueIdInstance(Enum): + COMPLETE_SET = "CompleteSet" + + +class UniqueIdType1(Enum): + VALUE_16 = "16" + VALUE_35 = "35" + + +class UniqueIdType2(Enum): + VALUE_14 = "14" + VALUE_15 = "15" + + +class UniqueIdType3(Enum): + VALUE_16 = "16" + + +class VideoItemCategory(Enum): + VALUE_1 = "1" + VALUE_2 = "2" + VALUE_4 = "4" + VALUE_12 = "12" + VALUE_20 = "20" + VALUE_22 = "22" + + +class WarningStatus(Enum): + ALPINEBITS_HANDSHAKE = "ALPINEBITS_HANDSHAKE" + + +class DefSendComplete(Enum): + ALPINEBITS_SEND_HANDSHAKE = "ALPINEBITS_SEND_HANDSHAKE" + ALPINEBITS_SEND_FREEROOMS = "ALPINEBITS_SEND_FREEROOMS" + ALPINEBITS_SEND_RATEPLANS = "ALPINEBITS_SEND_RATEPLANS" + ALPINEBITS_SEND_INVENTORY = "ALPINEBITS_SEND_INVENTORY" + + +class OtaHotelDescriptiveContentNotifRq(BaseModel): + class Meta: + name = "OTA_HotelDescriptiveContentNotifRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + hotel_descriptive_contents: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents" = field( + metadata={ + "name": "HotelDescriptiveContents", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class HotelDescriptiveContents(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_descriptive_content: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent" = field( + metadata={ + "name": "HotelDescriptiveContent", + "type": "Element", + "required": True, + } + ) + + class HotelDescriptiveContent(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_info: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo" + ] = field( + default=None, + metadata={ + "name": "HotelInfo", + "type": "Element", + }, + ) + facility_info: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo" + ] = field( + default=None, + metadata={ + "name": "FacilityInfo", + "type": "Element", + }, + ) + policies: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies" + ] = field( + default=None, + metadata={ + "name": "Policies", + "type": "Element", + }, + ) + affiliation_info: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.AffiliationInfo" + ] = field( + default=None, + metadata={ + "name": "AffiliationInfo", + "type": "Element", + }, + ) + contact_infos: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos" + ] = field( + default=None, + metadata={ + "name": "ContactInfos", + "type": "Element", + }, + ) + hotel_city_code: Optional[str] = field( + default=None, + metadata={ + "name": "HotelCityCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + area_id: Optional[str] = field( + default=None, + metadata={ + "name": "AreaID", + "type": "Attribute", + "pattern": r"[0-9]{1,8}", + }, + ) + + class HotelInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + category_codes: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.CategoryCodes" + ] = field( + default=None, + metadata={ + "name": "CategoryCodes", + "type": "Element", + }, + ) + descriptions: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions" + ] = field( + default=None, + metadata={ + "name": "Descriptions", + "type": "Element", + }, + ) + position: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Position" + ] = field( + default=None, + metadata={ + "name": "Position", + "type": "Element", + }, + ) + services: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services" + ] = field( + default=None, + metadata={ + "name": "Services", + "type": "Element", + }, + ) + hotel_status_code: Optional[str] = field( + default=None, + metadata={ + "name": "HotelStatusCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class CategoryCodes(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_category: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.CategoryCodes.HotelCategory" = field( + metadata={ + "name": "HotelCategory", + "type": "Element", + "required": True, + } + ) + + class HotelCategory(BaseModel): + model_config = ConfigDict(defer_build=True) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "min_length": 1, + }, + ) + code_detail: str = field( + metadata={ + "name": "CodeDetail", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 128, + } + ) + + class Descriptions(BaseModel): + model_config = ConfigDict(defer_build=True) + multimedia_descriptions: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions" = field( + metadata={ + "name": "MultimediaDescriptions", + "type": "Element", + "required": True, + } + ) + + class MultimediaDescriptions(BaseModel): + model_config = ConfigDict(defer_build=True) + multimedia_description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription" + ] = field( + default_factory=list, + metadata={ + "name": "MultimediaDescription", + "type": "Element", + "min_occurs": 1, + }, + ) + + class MultimediaDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text_items: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.TextItems" + ] = field( + default=None, + metadata={ + "name": "TextItems", + "type": "Element", + }, + ) + image_items: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems" + ] = field( + default=None, + metadata={ + "name": "ImageItems", + "type": "Element", + }, + ) + video_items: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems" + ] = field( + default=None, + metadata={ + "name": "VideoItems", + "type": "Element", + }, + ) + info_code: Optional[ + MultimediaDescriptionInfoCode1 + ] = field( + default=None, + metadata={ + "name": "InfoCode", + "type": "Attribute", + }, + ) + + class TextItems(BaseModel): + model_config = ConfigDict(defer_build=True) + text_item: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem" + ] = field( + default_factory=list, + metadata={ + "name": "TextItem", + "type": "Element", + }, + ) + + class TextItem(BaseModel): + model_config = ConfigDict(defer_build=True) + description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "min_occurs": 1, + }, + ) + source_id: Optional[str] = field( + default=None, + metadata={ + "name": "SourceID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = ( + field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class ImageItems(BaseModel): + model_config = ConfigDict(defer_build=True) + image_item: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem" + ] = field( + default_factory=list, + metadata={ + "name": "ImageItem", + "type": "Element", + "min_occurs": 1, + }, + ) + + class ImageItem(BaseModel): + model_config = ConfigDict(defer_build=True) + image_format: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.ImageFormat" = field( + metadata={ + "name": "ImageFormat", + "type": "Element", + "required": True, + } + ) + description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + }, + ) + category: ImageItemCategory = field( + metadata={ + "name": "Category", + "type": "Attribute", + "required": True, + } + ) + + class ImageFormat(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + url: str = field( + metadata={ + "name": "URL", + "type": "Element", + "required": True, + "pattern": r"https?://.+", + } + ) + copyright_notice: Optional[str] = ( + field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + ) + source_id: Optional[str] = field( + default=None, + metadata={ + "name": "SourceID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + title: Optional[str] = field( + default=None, + metadata={ + "name": "Title", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + applicable_start: Optional[str] = ( + field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"--[0-1][0-9]-[0-3][0-9]", + }, + ) + ) + applicable_end: Optional[str] = field( + default=None, + metadata={ + "name": "ApplicableEnd", + "type": "Attribute", + "pattern": r"--[0-1][0-9]-[0-3][0-9]", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = ( + field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class VideoItems(BaseModel): + model_config = ConfigDict(defer_build=True) + video_item: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems.VideoItem" + ] = field( + default_factory=list, + metadata={ + "name": "VideoItem", + "type": "Element", + "min_occurs": 1, + }, + ) + + class VideoItem(BaseModel): + model_config = ConfigDict(defer_build=True) + video_format: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems.VideoItem.VideoFormat" = field( + metadata={ + "name": "VideoFormat", + "type": "Element", + "required": True, + } + ) + description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems.VideoItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + }, + ) + category: VideoItemCategory = field( + metadata={ + "name": "Category", + "type": "Attribute", + "required": True, + } + ) + + class VideoFormat(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + url: str = field( + metadata={ + "name": "URL", + "type": "Element", + "required": True, + "pattern": r"https?://.+", + } + ) + copyright_notice: Optional[str] = ( + field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + ) + source_id: Optional[str] = field( + default=None, + metadata={ + "name": "SourceID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + title: Optional[str] = field( + default=None, + metadata={ + "name": "Title", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + applicable_start: Optional[str] = ( + field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"[0-1][0-9]-[0-3][0-9]", + }, + ) + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = ( + field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class Position(BaseModel): + model_config = ConfigDict(defer_build=True) + altitude: Optional[Decimal] = field( + default=None, + metadata={ + "name": "Altitude", + "type": "Attribute", + }, + ) + altitude_unit_of_measure_code: Optional[ + PositionAltitudeUnitOfMeasureCode + ] = field( + default=None, + metadata={ + "name": "AltitudeUnitOfMeasureCode", + "type": "Attribute", + }, + ) + latitude: Optional[Decimal] = field( + default=None, + metadata={ + "name": "Latitude", + "type": "Attribute", + }, + ) + longitude: Optional[Decimal] = field( + default=None, + metadata={ + "name": "Longitude", + "type": "Attribute", + }, + ) + + class Services(BaseModel): + model_config = ConfigDict(defer_build=True) + service: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services.Service" + ] = field( + default_factory=list, + metadata={ + "name": "Service", + "type": "Element", + }, + ) + + class Service(BaseModel): + model_config = ConfigDict(defer_build=True) + features: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services.Service.Features" + ] = field( + default=None, + metadata={ + "name": "Features", + "type": "Element", + }, + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]{1,3}(\.[A-Z]{3}){0,1}", + } + ) + meal_plan_code: Optional[ServiceMealPlanCode] = field( + default=None, + metadata={ + "name": "MealPlanCode", + "type": "Attribute", + }, + ) + proximity_code: Optional[str] = field( + default=None, + metadata={ + "name": "ProximityCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + included: Optional[str] = field( + default=None, + metadata={ + "name": "Included", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Features(BaseModel): + model_config = ConfigDict(defer_build=True) + feature: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services.Service.Features.Feature" + ] = field( + default_factory=list, + metadata={ + "name": "Feature", + "type": "Element", + }, + ) + + class Feature(BaseModel): + model_config = ConfigDict(defer_build=True) + accessible_code: str = field( + metadata={ + "name": "AccessibleCode", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class FacilityInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_rooms: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms" = field( + metadata={ + "name": "GuestRooms", + "type": "Element", + "required": True, + } + ) + + class GuestRooms(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_room: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom" + ] = field( + default_factory=list, + metadata={ + "name": "GuestRoom", + "type": "Element", + }, + ) + + class GuestRoom(BaseModel): + model_config = ConfigDict(defer_build=True) + type_room: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.TypeRoom" = field( + metadata={ + "name": "TypeRoom", + "type": "Element", + "required": True, + } + ) + amenities: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.Amenities" + ] = field( + default=None, + metadata={ + "name": "Amenities", + "type": "Element", + }, + ) + multimedia_descriptions: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions" + ] = field( + default=None, + metadata={ + "name": "MultimediaDescriptions", + "type": "Element", + }, + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 8, + } + ) + max_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MaxOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + min_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MinOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_child_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MaxChildOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + id: Optional[str] = field( + default=None, + metadata={ + "name": "ID", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + + class TypeRoom(BaseModel): + model_config = ConfigDict(defer_build=True) + standard_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "StandardOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_classification_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomClassificationCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_id: Optional[str] = field( + default=None, + metadata={ + "name": "RoomID", + "type": "Attribute", + "min_length": 1, + "max_length": 16, + }, + ) + size: Optional[str] = field( + default=None, + metadata={ + "name": "Size", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_type: Optional[TypeRoomRoomType] = field( + default=None, + metadata={ + "name": "RoomType", + "type": "Attribute", + }, + ) + + class Amenities(BaseModel): + model_config = ConfigDict(defer_build=True) + amenity: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.Amenities.Amenity" + ] = field( + default_factory=list, + metadata={ + "name": "Amenity", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Amenity(BaseModel): + model_config = ConfigDict(defer_build=True) + room_amenity_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomAmenityCode", + "type": "Attribute", + "pattern": r"[0-9]{1,3}(\.[A-Z]{3}){0,1}", + }, + ) + + class MultimediaDescriptions(BaseModel): + model_config = ConfigDict(defer_build=True) + multimedia_description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription" + ] = field( + default_factory=list, + metadata={ + "name": "MultimediaDescription", + "type": "Element", + }, + ) + + class MultimediaDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text_items: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems" + ] = field( + default=None, + metadata={ + "name": "TextItems", + "type": "Element", + }, + ) + image_items: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems" + ] = field( + default=None, + metadata={ + "name": "ImageItems", + "type": "Element", + }, + ) + info_code: Optional[ + MultimediaDescriptionInfoCode2 + ] = field( + default=None, + metadata={ + "name": "InfoCode", + "type": "Attribute", + }, + ) + + class TextItems(BaseModel): + model_config = ConfigDict(defer_build=True) + text_item: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem" = field( + metadata={ + "name": "TextItem", + "type": "Element", + "required": True, + } + ) + + class TextItem(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class ImageItems(BaseModel): + model_config = ConfigDict(defer_build=True) + image_item: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem" + ] = field( + default_factory=list, + metadata={ + "name": "ImageItem", + "type": "Element", + "min_occurs": 1, + }, + ) + + class ImageItem(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + image_format: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.ImageFormat" = field( + metadata={ + "name": "ImageFormat", + "type": "Element", + "required": True, + } + ) + description: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + }, + ) + category: str = field( + metadata={ + "name": "Category", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class ImageFormat(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + url: str = field( + metadata={ + "name": "URL", + "type": "Element", + "required": True, + "pattern": r"https?://.+", + } + ) + copyright_notice: Optional[str] = ( + field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class Policies(BaseModel): + model_config = ConfigDict(defer_build=True) + policy: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy" + ] = field( + default_factory=list, + metadata={ + "name": "Policy", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Policy(BaseModel): + model_config = ConfigDict(defer_build=True) + cancel_policy: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy" + ] = field( + default=None, + metadata={ + "name": "CancelPolicy", + "type": "Element", + }, + ) + checkout_charges: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges" + ] = field( + default=None, + metadata={ + "name": "CheckoutCharges", + "type": "Element", + }, + ) + pets_policies: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies" + ] = field( + default=None, + metadata={ + "name": "PetsPolicies", + "type": "Element", + }, + ) + tax_policies: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies" + ] = field( + default=None, + metadata={ + "name": "TaxPolicies", + "type": "Element", + }, + ) + guarantee_payment_policy: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy" + ] = field( + default=None, + metadata={ + "name": "GuaranteePaymentPolicy", + "type": "Element", + }, + ) + policy_info: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PolicyInfo" + ] = field( + default=None, + metadata={ + "name": "PolicyInfo", + "type": "Element", + }, + ) + stay_requirements: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.StayRequirements" + ] = field( + default=None, + metadata={ + "name": "StayRequirements", + "type": "Element", + }, + ) + + class CancelPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + cancel_penalty: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy.CancelPenalty" = field( + metadata={ + "name": "CancelPenalty", + "type": "Element", + "required": True, + } + ) + + class CancelPenalty(BaseModel): + model_config = ConfigDict(defer_build=True) + penalty_description: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy.CancelPenalty.PenaltyDescription" = field( + metadata={ + "name": "PenaltyDescription", + "type": "Element", + "required": True, + } + ) + + class PenaltyDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy.CancelPenalty.PenaltyDescription.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class CheckoutCharges(BaseModel): + model_config = ConfigDict(defer_build=True) + checkout_charge: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges.CheckoutCharge" = field( + metadata={ + "name": "CheckoutCharge", + "type": "Element", + "required": True, + } + ) + + class CheckoutCharge(BaseModel): + model_config = ConfigDict(defer_build=True) + description: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges.CheckoutCharge.Description" = field( + metadata={ + "name": "Description", + "type": "Element", + "required": True, + } + ) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + decimal_places: Optional[str] = field( + default=None, + metadata={ + "name": "DecimalPlaces", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges.CheckoutCharge.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class PetsPolicies(BaseModel): + model_config = ConfigDict(defer_build=True) + pets_policy: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies.PetsPolicy" = field( + metadata={ + "name": "PetsPolicy", + "type": "Element", + "required": True, + } + ) + + class PetsPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + description: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies.PetsPolicy.Description" = field( + metadata={ + "name": "Description", + "type": "Element", + "required": True, + } + ) + max_pet_quantity: Optional[str] = field( + default=None, + metadata={ + "name": "MaxPetQuantity", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + non_refundable_fee: Optional[str] = field( + default=None, + metadata={ + "name": "NonRefundableFee", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + charge_code: Optional[str] = field( + default=None, + metadata={ + "name": "ChargeCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + decimal_places: Optional[str] = field( + default=None, + metadata={ + "name": "DecimalPlaces", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies.PetsPolicy.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class TaxPolicies(BaseModel): + model_config = ConfigDict(defer_build=True) + tax_policy: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies.TaxPolicy" = field( + metadata={ + "name": "TaxPolicy", + "type": "Element", + "required": True, + } + ) + + class TaxPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + tax_description: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies.TaxPolicy.TaxDescription" = field( + metadata={ + "name": "TaxDescription", + "type": "Element", + "required": True, + } + ) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + decimal_places: Optional[str] = field( + default=None, + metadata={ + "name": "DecimalPlaces", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + code: Optional[TaxPolicyCode] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + }, + ) + charge_frequency: Optional[ + TaxPolicyChargeFrequency + ] = field( + default=None, + metadata={ + "name": "ChargeFrequency", + "type": "Attribute", + }, + ) + charge_unit: Optional[TaxPolicyChargeUnit] = field( + default=None, + metadata={ + "name": "ChargeUnit", + "type": "Attribute", + }, + ) + + class TaxDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies.TaxPolicy.TaxDescription.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class GuaranteePaymentPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantee_payment: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment" = field( + metadata={ + "name": "GuaranteePayment", + "type": "Element", + "required": True, + } + ) + + class GuaranteePayment(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payments: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments" = field( + metadata={ + "name": "AcceptedPayments", + "type": "Element", + "required": True, + } + ) + amount_percent: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AmountPercent" + ] = field( + default=None, + metadata={ + "name": "AmountPercent", + "type": "Element", + }, + ) + deadline: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.Deadline" + ] = field( + default=None, + metadata={ + "name": "Deadline", + "type": "Element", + }, + ) + + class AcceptedPayments(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payment: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment" + ] = field( + default_factory=list, + metadata={ + "name": "AcceptedPayment", + "type": "Element", + "min_occurs": 1, + }, + ) + + class AcceptedPayment(BaseModel): + model_config = ConfigDict(defer_build=True) + bank_acct: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct" + ] = field( + default=None, + metadata={ + "name": "BankAcct", + "type": "Element", + }, + ) + cash: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.Cash" + ] = field( + default=None, + metadata={ + "name": "Cash", + "type": "Element", + }, + ) + payment_card: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.PaymentCard" + ] = field( + default=None, + metadata={ + "name": "PaymentCard", + "type": "Element", + }, + ) + + class BankAcct(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + bank_acct_name: str = field( + metadata={ + "name": "BankAcctName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + bank_acct_number: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct.BankAcctNumber" = field( + metadata={ + "name": "BankAcctNumber", + "type": "Element", + "required": True, + } + ) + bank_id: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct.BankId" = field( + metadata={ + "name": "BankID", + "type": "Element", + "required": True, + } + ) + + class BankAcctNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: str = field( + metadata={ + "name": "PlainText", + "type": "Element", + "required": True, + "pattern": r"[0-9]{1,19}", + } + ) + + class BankId(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: str = field( + metadata={ + "name": "PlainText", + "type": "Element", + "required": True, + "pattern": r"[0-9]{1,19}", + } + ) + + class Cash(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + cash_indicator: str = field( + metadata={ + "name": "CashIndicator", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + + class PaymentCard(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + card_type: Optional[str] = field( + default=None, + metadata={ + "name": "CardType", + "type": "Element", + "min_length": 1, + }, + ) + card_code: Optional[str] = field( + default=None, + metadata={ + "name": "CardCode", + "type": "Attribute", + "min_length": 1, + }, + ) + + class AmountPercent(BaseModel): + model_config = ConfigDict(defer_build=True) + percent: str = field( + metadata={ + "name": "Percent", + "type": "Attribute", + "required": True, + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + + class Deadline(BaseModel): + model_config = ConfigDict(defer_build=True) + offset_drop_time: str = field( + metadata={ + "name": "OffsetDropTime", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + offset_time_unit: TimeUnitType = field( + metadata={ + "name": "OffsetTimeUnit", + "type": "Attribute", + "required": True, + } + ) + offset_unit_multiplier: str = field( + metadata={ + "name": "OffsetUnitMultiplier", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class PolicyInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + min_guest_age: Optional[str] = field( + default=None, + metadata={ + "name": "MinGuestAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class StayRequirements(BaseModel): + model_config = ConfigDict(defer_build=True) + stay_requirement: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.StayRequirements.StayRequirement" + ] = field( + default_factory=list, + metadata={ + "name": "StayRequirement", + "type": "Element", + "min_occurs": 1, + "max_occurs": 2, + }, + ) + + class StayRequirement(BaseModel): + model_config = ConfigDict(defer_build=True) + stay_context: Optional[ + StayRequirementStayContext + ] = field( + default=None, + metadata={ + "name": "StayContext", + "type": "Attribute", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"[0-2][0-9]:[0-5][0-9]:[0-5][0-9]", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"[0-2][0-9]:[0-5][0-9]:[0-5][0-9]", + }, + ) + + class AffiliationInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + awards: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.AffiliationInfo.Awards" = field( + metadata={ + "name": "Awards", + "type": "Element", + "required": True, + } + ) + + class Awards(BaseModel): + model_config = ConfigDict(defer_build=True) + award: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.AffiliationInfo.Awards.Award" + ] = field( + default_factory=list, + metadata={ + "name": "Award", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Award(BaseModel): + model_config = ConfigDict(defer_build=True) + rating: str = field( + metadata={ + "name": "Rating", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + provider: str = field( + metadata={ + "name": "Provider", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + rating_symbol: Optional[str] = field( + default=None, + metadata={ + "name": "RatingSymbol", + "type": "Attribute", + "min_length": 1, + }, + ) + official_appointment_ind: Optional[str] = field( + default=None, + metadata={ + "name": "OfficialAppointmentInd", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class ContactInfos(BaseModel): + model_config = ConfigDict(defer_build=True) + contact_info: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo" = field( + metadata={ + "name": "ContactInfo", + "type": "Element", + "required": True, + } + ) + + class ContactInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + addresses: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses" + ] = field( + default=None, + metadata={ + "name": "Addresses", + "type": "Element", + }, + ) + phones: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Phones" + ] = field( + default=None, + metadata={ + "name": "Phones", + "type": "Element", + }, + ) + emails: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Emails" + ] = field( + default=None, + metadata={ + "name": "Emails", + "type": "Element", + }, + ) + urls: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Urls" + ] = field( + default=None, + metadata={ + "name": "URLs", + "type": "Element", + }, + ) + company_name: Optional[str] = field( + default=None, + metadata={ + "name": "CompanyName", + "type": "Element", + "min_length": 0, + }, + ) + location: Optional[ContactInfoLocation] = field( + default=None, + metadata={ + "name": "Location", + "type": "Attribute", + }, + ) + + class Addresses(BaseModel): + model_config = ConfigDict(defer_build=True) + address: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses.Address" + ] = field( + default_factory=list, + metadata={ + "name": "Address", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Address(BaseModel): + model_config = ConfigDict(defer_build=True) + address_line: str = field( + metadata={ + "name": "AddressLine", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 255, + } + ) + city_name: str = field( + metadata={ + "name": "CityName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + postal_code: str = field( + metadata={ + "name": "PostalCode", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + state_prov: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses.Address.StateProv" + ] = field( + default=None, + metadata={ + "name": "StateProv", + "type": "Element", + }, + ) + country_name: Optional[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses.Address.CountryName" + ] = field( + default=None, + metadata={ + "name": "CountryName", + "type": "Element", + }, + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + class StateProv(BaseModel): + model_config = ConfigDict(defer_build=True) + state_code: str = field( + metadata={ + "name": "StateCode", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + + class CountryName(BaseModel): + model_config = ConfigDict(defer_build=True) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]", + } + ) + + class Phones(BaseModel): + model_config = ConfigDict(defer_build=True) + phone: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Phones.Phone" + ] = field( + default_factory=list, + metadata={ + "name": "Phone", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Phone(BaseModel): + model_config = ConfigDict(defer_build=True) + phone_tech_type: str = field( + metadata={ + "name": "PhoneTechType", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + phone_number: str = field( + metadata={ + "name": "PhoneNumber", + "type": "Attribute", + "required": True, + "pattern": r"\+?[0-9]+", + } + ) + + class Emails(BaseModel): + model_config = ConfigDict(defer_build=True) + email: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Emails.Email" + ] = field( + default_factory=list, + metadata={ + "name": "Email", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Email(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + email_type: str = field( + metadata={ + "name": "EmailType", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + + class Urls(BaseModel): + model_config = ConfigDict(defer_build=True) + url: list[ + "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Urls.Url" + ] = field( + default_factory=list, + metadata={ + "name": "URL", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Url(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + }, + ) + id: Optional[str] = field( + default=None, + metadata={ + "name": "ID", + "type": "Attribute", + "pattern": r"[A-Z]+", + }, + ) + + +class OtaHotelDescriptiveContentNotifRs(BaseModel): + class Meta: + name = "OTA_HotelDescriptiveContentNotifRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelDescriptiveContentNotifRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelDescriptiveContentNotifRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelDescriptiveContentNotifRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelDescriptiveContentNotifRs.Warnings.Warning"] = ( + field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + +class OtaHotelDescriptiveInfoRs(BaseModel): + class Meta: + name = "OTA_HotelDescriptiveInfoRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelDescriptiveInfoRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelDescriptiveInfoRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + hotel_descriptive_contents: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents" + ] = field( + default=None, + metadata={ + "name": "HotelDescriptiveContents", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelDescriptiveInfoRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelDescriptiveInfoRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class HotelDescriptiveContents(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_descriptive_content: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent" = field( + metadata={ + "name": "HotelDescriptiveContent", + "type": "Element", + "required": True, + } + ) + + class HotelDescriptiveContent(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_info: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo" + ] = field( + default=None, + metadata={ + "name": "HotelInfo", + "type": "Element", + }, + ) + facility_info: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo" + ] = field( + default=None, + metadata={ + "name": "FacilityInfo", + "type": "Element", + }, + ) + policies: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies" + ] = field( + default=None, + metadata={ + "name": "Policies", + "type": "Element", + }, + ) + affiliation_info: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.AffiliationInfo" + ] = field( + default=None, + metadata={ + "name": "AffiliationInfo", + "type": "Element", + }, + ) + contact_infos: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos" + ] = field( + default=None, + metadata={ + "name": "ContactInfos", + "type": "Element", + }, + ) + hotel_city_code: Optional[str] = field( + default=None, + metadata={ + "name": "HotelCityCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + area_id: Optional[str] = field( + default=None, + metadata={ + "name": "AreaID", + "type": "Attribute", + "pattern": r"[0-9]{1,8}", + }, + ) + + class HotelInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + category_codes: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.CategoryCodes" + ] = field( + default=None, + metadata={ + "name": "CategoryCodes", + "type": "Element", + }, + ) + descriptions: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions" + ] = field( + default=None, + metadata={ + "name": "Descriptions", + "type": "Element", + }, + ) + position: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Position" + ] = field( + default=None, + metadata={ + "name": "Position", + "type": "Element", + }, + ) + services: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services" + ] = field( + default=None, + metadata={ + "name": "Services", + "type": "Element", + }, + ) + hotel_status_code: Optional[str] = field( + default=None, + metadata={ + "name": "HotelStatusCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class CategoryCodes(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_category: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.CategoryCodes.HotelCategory" = field( + metadata={ + "name": "HotelCategory", + "type": "Element", + "required": True, + } + ) + + class HotelCategory(BaseModel): + model_config = ConfigDict(defer_build=True) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "min_length": 1, + }, + ) + code_detail: str = field( + metadata={ + "name": "CodeDetail", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 128, + } + ) + + class Descriptions(BaseModel): + model_config = ConfigDict(defer_build=True) + multimedia_descriptions: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions" = field( + metadata={ + "name": "MultimediaDescriptions", + "type": "Element", + "required": True, + } + ) + + class MultimediaDescriptions(BaseModel): + model_config = ConfigDict(defer_build=True) + multimedia_description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription" + ] = field( + default_factory=list, + metadata={ + "name": "MultimediaDescription", + "type": "Element", + "min_occurs": 1, + }, + ) + + class MultimediaDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text_items: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.TextItems" + ] = field( + default=None, + metadata={ + "name": "TextItems", + "type": "Element", + }, + ) + image_items: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems" + ] = field( + default=None, + metadata={ + "name": "ImageItems", + "type": "Element", + }, + ) + video_items: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems" + ] = field( + default=None, + metadata={ + "name": "VideoItems", + "type": "Element", + }, + ) + info_code: Optional[ + MultimediaDescriptionInfoCode1 + ] = field( + default=None, + metadata={ + "name": "InfoCode", + "type": "Attribute", + }, + ) + + class TextItems(BaseModel): + model_config = ConfigDict(defer_build=True) + text_item: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem" + ] = field( + default_factory=list, + metadata={ + "name": "TextItem", + "type": "Element", + }, + ) + + class TextItem(BaseModel): + model_config = ConfigDict(defer_build=True) + description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "min_occurs": 1, + }, + ) + source_id: Optional[str] = field( + default=None, + metadata={ + "name": "SourceID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = ( + field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class ImageItems(BaseModel): + model_config = ConfigDict(defer_build=True) + image_item: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem" + ] = field( + default_factory=list, + metadata={ + "name": "ImageItem", + "type": "Element", + "min_occurs": 1, + }, + ) + + class ImageItem(BaseModel): + model_config = ConfigDict(defer_build=True) + image_format: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.ImageFormat" = field( + metadata={ + "name": "ImageFormat", + "type": "Element", + "required": True, + } + ) + description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + }, + ) + category: ImageItemCategory = field( + metadata={ + "name": "Category", + "type": "Attribute", + "required": True, + } + ) + + class ImageFormat(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + url: str = field( + metadata={ + "name": "URL", + "type": "Element", + "required": True, + "pattern": r"https?://.+", + } + ) + copyright_notice: Optional[str] = ( + field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + ) + source_id: Optional[str] = field( + default=None, + metadata={ + "name": "SourceID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + title: Optional[str] = field( + default=None, + metadata={ + "name": "Title", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + applicable_start: Optional[str] = ( + field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"--[0-1][0-9]-[0-3][0-9]", + }, + ) + ) + applicable_end: Optional[str] = field( + default=None, + metadata={ + "name": "ApplicableEnd", + "type": "Attribute", + "pattern": r"--[0-1][0-9]-[0-3][0-9]", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = ( + field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class VideoItems(BaseModel): + model_config = ConfigDict(defer_build=True) + video_item: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems.VideoItem" + ] = field( + default_factory=list, + metadata={ + "name": "VideoItem", + "type": "Element", + "min_occurs": 1, + }, + ) + + class VideoItem(BaseModel): + model_config = ConfigDict(defer_build=True) + video_format: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems.VideoItem.VideoFormat" = field( + metadata={ + "name": "VideoFormat", + "type": "Element", + "required": True, + } + ) + description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Descriptions.MultimediaDescriptions.MultimediaDescription.VideoItems.VideoItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + }, + ) + category: VideoItemCategory = field( + metadata={ + "name": "Category", + "type": "Attribute", + "required": True, + } + ) + + class VideoFormat(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + url: str = field( + metadata={ + "name": "URL", + "type": "Element", + "required": True, + "pattern": r"https?://.+", + } + ) + copyright_notice: Optional[str] = ( + field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + ) + source_id: Optional[str] = field( + default=None, + metadata={ + "name": "SourceID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + title: Optional[str] = field( + default=None, + metadata={ + "name": "Title", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + applicable_start: Optional[str] = ( + field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"[0-1][0-9]-[0-3][0-9]", + }, + ) + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = ( + field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class Position(BaseModel): + model_config = ConfigDict(defer_build=True) + altitude: Optional[Decimal] = field( + default=None, + metadata={ + "name": "Altitude", + "type": "Attribute", + }, + ) + altitude_unit_of_measure_code: Optional[ + PositionAltitudeUnitOfMeasureCode + ] = field( + default=None, + metadata={ + "name": "AltitudeUnitOfMeasureCode", + "type": "Attribute", + }, + ) + latitude: Optional[Decimal] = field( + default=None, + metadata={ + "name": "Latitude", + "type": "Attribute", + }, + ) + longitude: Optional[Decimal] = field( + default=None, + metadata={ + "name": "Longitude", + "type": "Attribute", + }, + ) + + class Services(BaseModel): + model_config = ConfigDict(defer_build=True) + service: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services.Service" + ] = field( + default_factory=list, + metadata={ + "name": "Service", + "type": "Element", + }, + ) + + class Service(BaseModel): + model_config = ConfigDict(defer_build=True) + features: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services.Service.Features" + ] = field( + default=None, + metadata={ + "name": "Features", + "type": "Element", + }, + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]{1,3}(\.[A-Z]{3}){0,1}", + } + ) + meal_plan_code: Optional[ServiceMealPlanCode] = field( + default=None, + metadata={ + "name": "MealPlanCode", + "type": "Attribute", + }, + ) + proximity_code: Optional[str] = field( + default=None, + metadata={ + "name": "ProximityCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + included: Optional[str] = field( + default=None, + metadata={ + "name": "Included", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Features(BaseModel): + model_config = ConfigDict(defer_build=True) + feature: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.HotelInfo.Services.Service.Features.Feature" + ] = field( + default_factory=list, + metadata={ + "name": "Feature", + "type": "Element", + }, + ) + + class Feature(BaseModel): + model_config = ConfigDict(defer_build=True) + accessible_code: str = field( + metadata={ + "name": "AccessibleCode", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class FacilityInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_rooms: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms" = field( + metadata={ + "name": "GuestRooms", + "type": "Element", + "required": True, + } + ) + + class GuestRooms(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_room: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom" + ] = field( + default_factory=list, + metadata={ + "name": "GuestRoom", + "type": "Element", + }, + ) + + class GuestRoom(BaseModel): + model_config = ConfigDict(defer_build=True) + type_room: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.TypeRoom" = field( + metadata={ + "name": "TypeRoom", + "type": "Element", + "required": True, + } + ) + amenities: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.Amenities" + ] = field( + default=None, + metadata={ + "name": "Amenities", + "type": "Element", + }, + ) + multimedia_descriptions: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions" + ] = field( + default=None, + metadata={ + "name": "MultimediaDescriptions", + "type": "Element", + }, + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 8, + } + ) + max_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MaxOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + min_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MinOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_child_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MaxChildOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + id: Optional[str] = field( + default=None, + metadata={ + "name": "ID", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + + class TypeRoom(BaseModel): + model_config = ConfigDict(defer_build=True) + standard_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "StandardOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_classification_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomClassificationCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_id: Optional[str] = field( + default=None, + metadata={ + "name": "RoomID", + "type": "Attribute", + "min_length": 1, + "max_length": 16, + }, + ) + size: Optional[str] = field( + default=None, + metadata={ + "name": "Size", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_type: Optional[TypeRoomRoomType] = field( + default=None, + metadata={ + "name": "RoomType", + "type": "Attribute", + }, + ) + + class Amenities(BaseModel): + model_config = ConfigDict(defer_build=True) + amenity: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.Amenities.Amenity" + ] = field( + default_factory=list, + metadata={ + "name": "Amenity", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Amenity(BaseModel): + model_config = ConfigDict(defer_build=True) + room_amenity_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomAmenityCode", + "type": "Attribute", + "pattern": r"[0-9]{1,3}(\.[A-Z]{3}){0,1}", + }, + ) + + class MultimediaDescriptions(BaseModel): + model_config = ConfigDict(defer_build=True) + multimedia_description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription" + ] = field( + default_factory=list, + metadata={ + "name": "MultimediaDescription", + "type": "Element", + }, + ) + + class MultimediaDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text_items: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems" + ] = field( + default=None, + metadata={ + "name": "TextItems", + "type": "Element", + }, + ) + image_items: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems" + ] = field( + default=None, + metadata={ + "name": "ImageItems", + "type": "Element", + }, + ) + info_code: Optional[ + MultimediaDescriptionInfoCode2 + ] = field( + default=None, + metadata={ + "name": "InfoCode", + "type": "Attribute", + }, + ) + + class TextItems(BaseModel): + model_config = ConfigDict(defer_build=True) + text_item: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem" = field( + metadata={ + "name": "TextItem", + "type": "Element", + "required": True, + } + ) + + class TextItem(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class ImageItems(BaseModel): + model_config = ConfigDict(defer_build=True) + image_item: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem" + ] = field( + default_factory=list, + metadata={ + "name": "ImageItem", + "type": "Element", + "min_occurs": 1, + }, + ) + + class ImageItem(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + image_format: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.ImageFormat" = field( + metadata={ + "name": "ImageFormat", + "type": "Element", + "required": True, + } + ) + description: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + }, + ) + category: str = field( + metadata={ + "name": "Category", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class ImageFormat(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + url: str = field( + metadata={ + "name": "URL", + "type": "Element", + "required": True, + "pattern": r"https?://.+", + } + ) + copyright_notice: Optional[str] = ( + field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + ) + + class Description(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: DescriptionTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class Policies(BaseModel): + model_config = ConfigDict(defer_build=True) + policy: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy" + ] = field( + default_factory=list, + metadata={ + "name": "Policy", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Policy(BaseModel): + model_config = ConfigDict(defer_build=True) + cancel_policy: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy" + ] = field( + default=None, + metadata={ + "name": "CancelPolicy", + "type": "Element", + }, + ) + checkout_charges: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges" + ] = field( + default=None, + metadata={ + "name": "CheckoutCharges", + "type": "Element", + }, + ) + pets_policies: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies" + ] = field( + default=None, + metadata={ + "name": "PetsPolicies", + "type": "Element", + }, + ) + tax_policies: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies" + ] = field( + default=None, + metadata={ + "name": "TaxPolicies", + "type": "Element", + }, + ) + guarantee_payment_policy: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy" + ] = field( + default=None, + metadata={ + "name": "GuaranteePaymentPolicy", + "type": "Element", + }, + ) + policy_info: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PolicyInfo" + ] = field( + default=None, + metadata={ + "name": "PolicyInfo", + "type": "Element", + }, + ) + stay_requirements: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.StayRequirements" + ] = field( + default=None, + metadata={ + "name": "StayRequirements", + "type": "Element", + }, + ) + + class CancelPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + cancel_penalty: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy.CancelPenalty" = field( + metadata={ + "name": "CancelPenalty", + "type": "Element", + "required": True, + } + ) + + class CancelPenalty(BaseModel): + model_config = ConfigDict(defer_build=True) + penalty_description: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy.CancelPenalty.PenaltyDescription" = field( + metadata={ + "name": "PenaltyDescription", + "type": "Element", + "required": True, + } + ) + + class PenaltyDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CancelPolicy.CancelPenalty.PenaltyDescription.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class CheckoutCharges(BaseModel): + model_config = ConfigDict(defer_build=True) + checkout_charge: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges.CheckoutCharge" = field( + metadata={ + "name": "CheckoutCharge", + "type": "Element", + "required": True, + } + ) + + class CheckoutCharge(BaseModel): + model_config = ConfigDict(defer_build=True) + description: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges.CheckoutCharge.Description" = field( + metadata={ + "name": "Description", + "type": "Element", + "required": True, + } + ) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + decimal_places: Optional[str] = field( + default=None, + metadata={ + "name": "DecimalPlaces", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.CheckoutCharges.CheckoutCharge.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class PetsPolicies(BaseModel): + model_config = ConfigDict(defer_build=True) + pets_policy: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies.PetsPolicy" = field( + metadata={ + "name": "PetsPolicy", + "type": "Element", + "required": True, + } + ) + + class PetsPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + description: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies.PetsPolicy.Description" = field( + metadata={ + "name": "Description", + "type": "Element", + "required": True, + } + ) + max_pet_quantity: Optional[str] = field( + default=None, + metadata={ + "name": "MaxPetQuantity", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + non_refundable_fee: Optional[str] = field( + default=None, + metadata={ + "name": "NonRefundableFee", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + charge_code: Optional[str] = field( + default=None, + metadata={ + "name": "ChargeCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + decimal_places: Optional[str] = field( + default=None, + metadata={ + "name": "DecimalPlaces", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.PetsPolicies.PetsPolicy.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class TaxPolicies(BaseModel): + model_config = ConfigDict(defer_build=True) + tax_policy: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies.TaxPolicy" = field( + metadata={ + "name": "TaxPolicy", + "type": "Element", + "required": True, + } + ) + + class TaxPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + tax_description: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies.TaxPolicy.TaxDescription" = field( + metadata={ + "name": "TaxDescription", + "type": "Element", + "required": True, + } + ) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + decimal_places: Optional[str] = field( + default=None, + metadata={ + "name": "DecimalPlaces", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + code: Optional[TaxPolicyCode] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + }, + ) + charge_frequency: Optional[ + TaxPolicyChargeFrequency + ] = field( + default=None, + metadata={ + "name": "ChargeFrequency", + "type": "Attribute", + }, + ) + charge_unit: Optional[TaxPolicyChargeUnit] = field( + default=None, + metadata={ + "name": "ChargeUnit", + "type": "Attribute", + }, + ) + + class TaxDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.TaxPolicies.TaxPolicy.TaxDescription.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class GuaranteePaymentPolicy(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantee_payment: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment" = field( + metadata={ + "name": "GuaranteePayment", + "type": "Element", + "required": True, + } + ) + + class GuaranteePayment(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payments: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments" = field( + metadata={ + "name": "AcceptedPayments", + "type": "Element", + "required": True, + } + ) + amount_percent: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AmountPercent" + ] = field( + default=None, + metadata={ + "name": "AmountPercent", + "type": "Element", + }, + ) + deadline: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.Deadline" + ] = field( + default=None, + metadata={ + "name": "Deadline", + "type": "Element", + }, + ) + + class AcceptedPayments(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payment: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment" + ] = field( + default_factory=list, + metadata={ + "name": "AcceptedPayment", + "type": "Element", + "min_occurs": 1, + }, + ) + + class AcceptedPayment(BaseModel): + model_config = ConfigDict(defer_build=True) + bank_acct: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct" + ] = field( + default=None, + metadata={ + "name": "BankAcct", + "type": "Element", + }, + ) + cash: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.Cash" + ] = field( + default=None, + metadata={ + "name": "Cash", + "type": "Element", + }, + ) + payment_card: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.PaymentCard" + ] = field( + default=None, + metadata={ + "name": "PaymentCard", + "type": "Element", + }, + ) + + class BankAcct(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + bank_acct_name: str = field( + metadata={ + "name": "BankAcctName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + bank_acct_number: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct.BankAcctNumber" = field( + metadata={ + "name": "BankAcctNumber", + "type": "Element", + "required": True, + } + ) + bank_id: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.GuaranteePaymentPolicy.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct.BankId" = field( + metadata={ + "name": "BankID", + "type": "Element", + "required": True, + } + ) + + class BankAcctNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: str = field( + metadata={ + "name": "PlainText", + "type": "Element", + "required": True, + "pattern": r"[0-9]{1,19}", + } + ) + + class BankId(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: str = field( + metadata={ + "name": "PlainText", + "type": "Element", + "required": True, + "pattern": r"[0-9]{1,19}", + } + ) + + class Cash(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + cash_indicator: str = field( + metadata={ + "name": "CashIndicator", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + + class PaymentCard(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + card_type: Optional[str] = field( + default=None, + metadata={ + "name": "CardType", + "type": "Element", + "min_length": 1, + }, + ) + card_code: Optional[str] = field( + default=None, + metadata={ + "name": "CardCode", + "type": "Attribute", + "min_length": 1, + }, + ) + + class AmountPercent(BaseModel): + model_config = ConfigDict(defer_build=True) + percent: str = field( + metadata={ + "name": "Percent", + "type": "Attribute", + "required": True, + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + + class Deadline(BaseModel): + model_config = ConfigDict(defer_build=True) + offset_drop_time: str = field( + metadata={ + "name": "OffsetDropTime", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + offset_time_unit: TimeUnitType = field( + metadata={ + "name": "OffsetTimeUnit", + "type": "Attribute", + "required": True, + } + ) + offset_unit_multiplier: str = field( + metadata={ + "name": "OffsetUnitMultiplier", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class PolicyInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + min_guest_age: Optional[str] = field( + default=None, + metadata={ + "name": "MinGuestAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class StayRequirements(BaseModel): + model_config = ConfigDict(defer_build=True) + stay_requirement: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.Policies.Policy.StayRequirements.StayRequirement" + ] = field( + default_factory=list, + metadata={ + "name": "StayRequirement", + "type": "Element", + "min_occurs": 1, + "max_occurs": 2, + }, + ) + + class StayRequirement(BaseModel): + model_config = ConfigDict(defer_build=True) + stay_context: Optional[ + StayRequirementStayContext + ] = field( + default=None, + metadata={ + "name": "StayContext", + "type": "Attribute", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"[0-2][0-9]:[0-5][0-9]:[0-5][0-9]", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"[0-2][0-9]:[0-5][0-9]:[0-5][0-9]", + }, + ) + + class AffiliationInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + awards: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.AffiliationInfo.Awards" = field( + metadata={ + "name": "Awards", + "type": "Element", + "required": True, + } + ) + + class Awards(BaseModel): + model_config = ConfigDict(defer_build=True) + award: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.AffiliationInfo.Awards.Award" + ] = field( + default_factory=list, + metadata={ + "name": "Award", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Award(BaseModel): + model_config = ConfigDict(defer_build=True) + rating: str = field( + metadata={ + "name": "Rating", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + provider: str = field( + metadata={ + "name": "Provider", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + rating_symbol: Optional[str] = field( + default=None, + metadata={ + "name": "RatingSymbol", + "type": "Attribute", + "min_length": 1, + }, + ) + official_appointment_ind: Optional[str] = field( + default=None, + metadata={ + "name": "OfficialAppointmentInd", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class ContactInfos(BaseModel): + model_config = ConfigDict(defer_build=True) + contact_info: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo" = field( + metadata={ + "name": "ContactInfo", + "type": "Element", + "required": True, + } + ) + + class ContactInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + addresses: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses" + ] = field( + default=None, + metadata={ + "name": "Addresses", + "type": "Element", + }, + ) + phones: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Phones" + ] = field( + default=None, + metadata={ + "name": "Phones", + "type": "Element", + }, + ) + emails: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Emails" + ] = field( + default=None, + metadata={ + "name": "Emails", + "type": "Element", + }, + ) + urls: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Urls" + ] = field( + default=None, + metadata={ + "name": "URLs", + "type": "Element", + }, + ) + company_name: Optional[str] = field( + default=None, + metadata={ + "name": "CompanyName", + "type": "Element", + "min_length": 0, + }, + ) + location: Optional[ContactInfoLocation] = field( + default=None, + metadata={ + "name": "Location", + "type": "Attribute", + }, + ) + + class Addresses(BaseModel): + model_config = ConfigDict(defer_build=True) + address: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses.Address" + ] = field( + default_factory=list, + metadata={ + "name": "Address", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Address(BaseModel): + model_config = ConfigDict(defer_build=True) + address_line: str = field( + metadata={ + "name": "AddressLine", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 255, + } + ) + city_name: str = field( + metadata={ + "name": "CityName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + postal_code: str = field( + metadata={ + "name": "PostalCode", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + state_prov: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses.Address.StateProv" + ] = field( + default=None, + metadata={ + "name": "StateProv", + "type": "Element", + }, + ) + country_name: Optional[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Addresses.Address.CountryName" + ] = field( + default=None, + metadata={ + "name": "CountryName", + "type": "Element", + }, + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + class StateProv(BaseModel): + model_config = ConfigDict(defer_build=True) + state_code: str = field( + metadata={ + "name": "StateCode", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + + class CountryName(BaseModel): + model_config = ConfigDict(defer_build=True) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]", + } + ) + + class Phones(BaseModel): + model_config = ConfigDict(defer_build=True) + phone: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Phones.Phone" + ] = field( + default_factory=list, + metadata={ + "name": "Phone", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Phone(BaseModel): + model_config = ConfigDict(defer_build=True) + phone_tech_type: str = field( + metadata={ + "name": "PhoneTechType", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + phone_number: str = field( + metadata={ + "name": "PhoneNumber", + "type": "Attribute", + "required": True, + "pattern": r"\+?[0-9]+", + } + ) + + class Emails(BaseModel): + model_config = ConfigDict(defer_build=True) + email: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Emails.Email" + ] = field( + default_factory=list, + metadata={ + "name": "Email", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Email(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + email_type: str = field( + metadata={ + "name": "EmailType", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + + class Urls(BaseModel): + model_config = ConfigDict(defer_build=True) + url: list[ + "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.ContactInfos.ContactInfo.Urls.Url" + ] = field( + default_factory=list, + metadata={ + "name": "URL", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Url(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + }, + ) + id: Optional[str] = field( + default=None, + metadata={ + "name": "ID", + "type": "Attribute", + "pattern": r"[A-Z]+", + }, + ) + + +class OtaHotelInvCountNotifRq(BaseModel): + class Meta: + name = "OTA_HotelInvCountNotifRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + unique_id: Optional["OtaHotelInvCountNotifRq.UniqueId"] = field( + default=None, + metadata={ + "name": "UniqueID", + "type": "Element", + }, + ) + inventories: "OtaHotelInvCountNotifRq.Inventories" = field( + metadata={ + "name": "Inventories", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + + class UniqueId(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: UniqueIdType1 = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + } + ) + instance: UniqueIdInstance = field( + metadata={ + "name": "Instance", + "type": "Attribute", + "required": True, + } + ) + + class Inventories(BaseModel): + model_config = ConfigDict(defer_build=True) + inventory: list["OtaHotelInvCountNotifRq.Inventories.Inventory"] = ( + field( + default_factory=list, + metadata={ + "name": "Inventory", + "type": "Element", + "min_occurs": 1, + }, + ) + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + class Inventory(BaseModel): + model_config = ConfigDict(defer_build=True) + status_application_control: Optional[ + "OtaHotelInvCountNotifRq.Inventories.Inventory.StatusApplicationControl" + ] = field( + default=None, + metadata={ + "name": "StatusApplicationControl", + "type": "Element", + }, + ) + inv_counts: Optional[ + "OtaHotelInvCountNotifRq.Inventories.Inventory.InvCounts" + ] = field( + default=None, + metadata={ + "name": "InvCounts", + "type": "Element", + }, + ) + + class StatusApplicationControl(BaseModel): + model_config = ConfigDict(defer_build=True) + start: str = field( + metadata={ + "name": "Start", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + end: str = field( + metadata={ + "name": "End", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + inv_type_code: Optional[str] = field( + default=None, + metadata={ + "name": "InvTypeCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + inv_code: Optional[str] = field( + default=None, + metadata={ + "name": "InvCode", + "type": "Attribute", + "min_length": 1, + "max_length": 16, + }, + ) + all_inv_code: Optional[str] = field( + default=None, + metadata={ + "name": "AllInvCode", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class InvCounts(BaseModel): + model_config = ConfigDict(defer_build=True) + inv_count: list[ + "OtaHotelInvCountNotifRq.Inventories.Inventory.InvCounts.InvCount" + ] = field( + default_factory=list, + metadata={ + "name": "InvCount", + "type": "Element", + "min_occurs": 1, + "max_occurs": 3, + }, + ) + + class InvCount(BaseModel): + model_config = ConfigDict(defer_build=True) + count_type: InvCountCountType = field( + metadata={ + "name": "CountType", + "type": "Attribute", + "required": True, + } + ) + count: str = field( + metadata={ + "name": "Count", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + +class OtaHotelInvCountNotifRs(BaseModel): + class Meta: + name = "OTA_HotelInvCountNotifRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelInvCountNotifRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelInvCountNotifRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelInvCountNotifRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelInvCountNotifRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + +class OtaHotelPostEventNotifRq(BaseModel): + class Meta: + name = "OTA_HotelPostEventNotifRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + event_reports: "OtaHotelPostEventNotifRq.EventReports" = field( + metadata={ + "name": "EventReports", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + + class EventReports(BaseModel): + model_config = ConfigDict(defer_build=True) + event_report: list[ + "OtaHotelPostEventNotifRq.EventReports.EventReport" + ] = field( + default_factory=list, + metadata={ + "name": "EventReport", + "type": "Element", + "min_occurs": 1, + "max_occurs": 99, + }, + ) + + class EventReport(BaseModel): + model_config = ConfigDict(defer_build=True) + event_sites: "OtaHotelPostEventNotifRq.EventReports.EventReport.EventSites" = field( + metadata={ + "name": "EventSites", + "type": "Element", + "required": True, + } + ) + general_event_info: "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo" = field( + metadata={ + "name": "GeneralEventInfo", + "type": "Element", + "required": True, + } + ) + + class EventSites(BaseModel): + model_config = ConfigDict(defer_build=True) + event_site: "OtaHotelPostEventNotifRq.EventReports.EventReport.EventSites.EventSite" = field( + metadata={ + "name": "EventSite", + "type": "Element", + "required": True, + } + ) + + class EventSite(BaseModel): + model_config = ConfigDict(defer_build=True) + event_id: "OtaHotelPostEventNotifRq.EventReports.EventReport.EventSites.EventSite.EventId" = field( + metadata={ + "name": "Event_ID", + "type": "Element", + "required": True, + } + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + class EventId(BaseModel): + model_config = ConfigDict(defer_build=True) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + id_context: str = field( + metadata={ + "name": "ID_Context", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + type_value: EventIdType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + + class GeneralEventInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + event_contacts: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.EventContacts" + ] = field( + default=None, + metadata={ + "name": "EventContacts", + "type": "Element", + }, + ) + attendee_info: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.AttendeeInfo" + ] = field( + default=None, + metadata={ + "name": "AttendeeInfo", + "type": "Element", + }, + ) + dates: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Dates" + ] = field( + default=None, + metadata={ + "name": "Dates", + "type": "Element", + }, + ) + comments: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Comments" + ] = field( + default=None, + metadata={ + "name": "Comments", + "type": "Element", + }, + ) + type_value: Optional[str] = field( + default=None, + metadata={ + "name": "Type", + "type": "Attribute", + "min_length": 1, + }, + ) + url: Optional[str] = field( + default=None, + metadata={ + "name": "URL", + "type": "Attribute", + "pattern": r"https?://.+", + }, + ) + acronym: Optional[str] = field( + default=None, + metadata={ + "name": "Acronym", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + + class EventContacts(BaseModel): + model_config = ConfigDict(defer_build=True) + event_contact: list[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.EventContacts.EventContact" + ] = field( + default_factory=list, + metadata={ + "name": "EventContact", + "type": "Element", + "min_occurs": 1, + }, + ) + + class EventContact(BaseModel): + model_config = ConfigDict(defer_build=True) + person_name: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.EventContacts.EventContact.PersonName" + ] = field( + default=None, + metadata={ + "name": "PersonName", + "type": "Element", + }, + ) + url: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.EventContacts.EventContact.Url" + ] = field( + default=None, + metadata={ + "name": "URL", + "type": "Element", + }, + ) + employee_info: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.EventContacts.EventContact.EmployeeInfo" + ] = field( + default=None, + metadata={ + "name": "EmployeeInfo", + "type": "Element", + }, + ) + role: Optional[str] = field( + default=None, + metadata={ + "name": "Role", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + + class PersonName(BaseModel): + model_config = ConfigDict(defer_build=True) + given_name: Optional[str] = field( + default=None, + metadata={ + "name": "GivenName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + surname: str = field( + metadata={ + "name": "Surname", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + + class Url(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + type_value: UrlType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + + class EmployeeInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + employee_id: Optional[str] = field( + default=None, + metadata={ + "name": "EmployeeId", + "type": "Attribute", + "min_length": 1, + "max_length": 16, + }, + ) + + class AttendeeInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + total_quantity: str = field( + metadata={ + "name": "TotalQuantity", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + pre_registered_quantity: str = field( + metadata={ + "name": "PreRegisteredQuantity", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class Dates(BaseModel): + model_config = ConfigDict(defer_build=True) + date: list[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Dates.Date" + ] = field( + default_factory=list, + metadata={ + "name": "Date", + "type": "Element", + "min_occurs": 1, + "max_occurs": 99, + }, + ) + + class Date(BaseModel): + model_config = ConfigDict(defer_build=True) + end_date_window: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Dates.Date.EndDateWindow" + ] = field( + default=None, + metadata={ + "name": "EndDateWindow", + "type": "Element", + }, + ) + location_categories: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Dates.Date.LocationCategories" + ] = field( + default=None, + metadata={ + "name": "LocationCategories", + "type": "Element", + }, + ) + start: Union[XmlDate, XmlDateTime, XmlTime] = field( + metadata={ + "name": "Start", + "type": "Attribute", + "required": True, + } + ) + end: Optional[Union[XmlDate, XmlDateTime, XmlTime]] = ( + field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + }, + ) + ) + + class EndDateWindow(BaseModel): + model_config = ConfigDict(defer_build=True) + latest_date: Union[XmlDate, XmlDateTime] = field( + metadata={ + "name": "LatestDate", + "type": "Attribute", + "required": True, + } + ) + + class LocationCategories(BaseModel): + model_config = ConfigDict(defer_build=True) + location: Optional[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Dates.Date.LocationCategories.Location" + ] = field( + default=None, + metadata={ + "name": "Location", + "type": "Element", + }, + ) + category: list[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Dates.Date.LocationCategories.Category" + ] = field( + default_factory=list, + metadata={ + "name": "Category", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Location(BaseModel): + model_config = ConfigDict(defer_build=True) + area_id: str = field( + metadata={ + "name": "AreaID", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]{1,8}", + } + ) + + class Category(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class Comments(BaseModel): + model_config = ConfigDict(defer_build=True) + comment: list[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Comments.Comment" + ] = field( + default_factory=list, + metadata={ + "name": "Comment", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Comment(BaseModel): + model_config = ConfigDict(defer_build=True) + text: list[ + "OtaHotelPostEventNotifRq.EventReports.EventReport.GeneralEventInfo.Comments.Comment.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + image: list[str] = field( + default_factory=list, + metadata={ + "name": "Image", + "type": "Element", + "min_length": 1, + }, + ) + name: CommentName1 = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + +class OtaHotelPostEventNotifRs(BaseModel): + class Meta: + name = "OTA_HotelPostEventNotifRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelPostEventNotifRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelPostEventNotifRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelPostEventNotifRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelPostEventNotifRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + +class OtaHotelRatePlanNotifRq(BaseModel): + class Meta: + name = "OTA_HotelRatePlanNotifRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + unique_id: Optional["OtaHotelRatePlanNotifRq.UniqueId"] = field( + default=None, + metadata={ + "name": "UniqueID", + "type": "Element", + }, + ) + rate_plans: "OtaHotelRatePlanNotifRq.RatePlans" = field( + metadata={ + "name": "RatePlans", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class UniqueId(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: UniqueIdType3 = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + } + ) + instance: UniqueIdInstance = field( + metadata={ + "name": "Instance", + "type": "Attribute", + "required": True, + } + ) + + class RatePlans(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan: list["OtaHotelRatePlanNotifRq.RatePlans.RatePlan"] = field( + default_factory=list, + metadata={ + "name": "RatePlan", + "type": "Element", + "min_occurs": 1, + }, + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + class RatePlan(BaseModel): + model_config = ConfigDict(defer_build=True) + booking_rules: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules" + ] = field( + default=None, + metadata={ + "name": "BookingRules", + "type": "Element", + }, + ) + rates: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates" + ] = field( + default=None, + metadata={ + "name": "Rates", + "type": "Element", + }, + ) + supplements: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Supplements" + ] = field( + default=None, + metadata={ + "name": "Supplements", + "type": "Element", + }, + ) + offers: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers" + ] = field( + default=None, + metadata={ + "name": "Offers", + "type": "Element", + }, + ) + description: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "max_occurs": 5, + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + rate_plan_notif_type: Optional[RatePlanRatePlanNotifType] = field( + default=None, + metadata={ + "name": "RatePlanNotifType", + "type": "Attribute", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + rate_plan_code: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_type: Optional[RatePlanRatePlanType] = field( + default=None, + metadata={ + "name": "RatePlanType", + "type": "Attribute", + }, + ) + rate_plan_category: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCategory", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_id: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_qualifier: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanQualifier", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class BookingRules(BaseModel): + model_config = ConfigDict(defer_build=True) + booking_rule: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule" + ] = field( + default_factory=list, + metadata={ + "name": "BookingRule", + "type": "Element", + "min_occurs": 1, + }, + ) + + class BookingRule(BaseModel): + model_config = ConfigDict(defer_build=True) + lengths_of_stay: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule.LengthsOfStay" + ] = field( + default=None, + metadata={ + "name": "LengthsOfStay", + "type": "Element", + }, + ) + dow_restrictions: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule.DowRestrictions" + ] = field( + default=None, + metadata={ + "name": "DOW_Restrictions", + "type": "Element", + }, + ) + restriction_status: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule.RestrictionStatus" + ] = field( + default=None, + metadata={ + "name": "RestrictionStatus", + "type": "Element", + }, + ) + code_context: Optional[BookingRuleCodeContext] = field( + default=None, + metadata={ + "name": "CodeContext", + "type": "Attribute", + }, + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class LengthsOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + length_of_stay: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule.LengthsOfStay.LengthOfStay" + ] = field( + default_factory=list, + metadata={ + "name": "LengthOfStay", + "type": "Element", + "min_occurs": 1, + }, + ) + + class LengthOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + time: str = field( + metadata={ + "name": "Time", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + time_unit: LengthOfStayTimeUnit = field( + metadata={ + "name": "TimeUnit", + "type": "Attribute", + "required": True, + } + ) + min_max_message_type: LengthOfStayMinMaxMessageType1 = field( + metadata={ + "name": "MinMaxMessageType", + "type": "Attribute", + "required": True, + } + ) + + class DowRestrictions(BaseModel): + model_config = ConfigDict(defer_build=True) + arrival_days_of_week: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule.DowRestrictions.ArrivalDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "ArrivalDaysOfWeek", + "type": "Element", + }, + ) + departure_days_of_week: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.BookingRules.BookingRule.DowRestrictions.DepartureDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "DepartureDaysOfWeek", + "type": "Element", + }, + ) + + class ArrivalDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class DepartureDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class RestrictionStatus(BaseModel): + model_config = ConfigDict(defer_build=True) + restriction: Optional[RestrictionStatusRestriction] = ( + field( + default=None, + metadata={ + "name": "Restriction", + "type": "Attribute", + }, + ) + ) + status: Optional[RestrictionStatusStatus] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + + class Rates(BaseModel): + model_config = ConfigDict(defer_build=True) + rate: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate" + ] = field( + default_factory=list, + metadata={ + "name": "Rate", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Rate(BaseModel): + model_config = ConfigDict(defer_build=True) + base_by_guest_amts: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.BaseByGuestAmts" + ] = field( + default=None, + metadata={ + "name": "BaseByGuestAmts", + "type": "Element", + }, + ) + additional_guest_amounts: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.AdditionalGuestAmounts" + ] = field( + default=None, + metadata={ + "name": "AdditionalGuestAmounts", + "type": "Element", + }, + ) + rate_description: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.RateDescription" + ] = field( + default=None, + metadata={ + "name": "RateDescription", + "type": "Element", + }, + ) + meals_included: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.MealsIncluded" + ] = field( + default=None, + metadata={ + "name": "MealsIncluded", + "type": "Element", + }, + ) + min_guest_applicable: Optional[str] = field( + default=None, + metadata={ + "name": "MinGuestApplicable", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + rate_time_unit: Optional[RateRateTimeUnit] = field( + default=None, + metadata={ + "name": "RateTimeUnit", + "type": "Attribute", + }, + ) + unit_multiplier: Optional[str] = field( + default=None, + metadata={ + "name": "UnitMultiplier", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + duration: Optional[str] = field( + default=None, + metadata={ + "name": "Duration", + "type": "Attribute", + "pattern": r"P[0-9]+N", + }, + ) + inv_type_code: Optional[str] = field( + default=None, + metadata={ + "name": "InvTypeCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + + class BaseByGuestAmts(BaseModel): + model_config = ConfigDict(defer_build=True) + base_by_guest_amt: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.BaseByGuestAmts.BaseByGuestAmt" + ] = field( + default_factory=list, + metadata={ + "name": "BaseByGuestAmt", + "type": "Element", + "min_occurs": 1, + }, + ) + + class BaseByGuestAmt(BaseModel): + model_config = ConfigDict(defer_build=True) + number_of_guests: Optional[str] = field( + default=None, + metadata={ + "name": "NumberOfGuests", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + amount_after_tax: Optional[str] = field( + default=None, + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + type_value: Optional[BaseByGuestAmtType] = field( + default=None, + metadata={ + "name": "Type", + "type": "Attribute", + }, + ) + age_qualifying_code: Optional[str] = field( + default=None, + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class AdditionalGuestAmounts(BaseModel): + model_config = ConfigDict(defer_build=True) + additional_guest_amount: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.AdditionalGuestAmounts.AdditionalGuestAmount" + ] = field( + default_factory=list, + metadata={ + "name": "AdditionalGuestAmount", + "type": "Element", + "min_occurs": 1, + }, + ) + + class AdditionalGuestAmount(BaseModel): + model_config = ConfigDict(defer_build=True) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + age_qualifying_code: Optional[str] = field( + default=None, + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + min_age: Optional[str] = field( + default=None, + metadata={ + "name": "MinAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_age: Optional[str] = field( + default=None, + metadata={ + "name": "MaxAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class RateDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate.RateDescription.ListItem" + ] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + "min_occurs": 1, + }, + ) + name: RateDescriptionName = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class ListItem(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + list_item: str = field( + metadata={ + "name": "ListItem", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class MealsIncluded(BaseModel): + model_config = ConfigDict(defer_build=True) + breakfast: Optional[str] = field( + default=None, + metadata={ + "name": "Breakfast", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + lunch: Optional[str] = field( + default=None, + metadata={ + "name": "Lunch", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + dinner: Optional[str] = field( + default=None, + metadata={ + "name": "Dinner", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + meal_plan_codes: Optional[ + MealsIncludedMealPlanCodes + ] = field( + default=None, + metadata={ + "name": "MealPlanCodes", + "type": "Attribute", + }, + ) + meal_plan_indicator: Optional[ + MealsIncludedMealPlanIndicator + ] = field( + default=None, + metadata={ + "name": "MealPlanIndicator", + "type": "Attribute", + }, + ) + + class Supplements(BaseModel): + model_config = ConfigDict(defer_build=True) + supplement: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Supplements.Supplement" + ] = field( + default_factory=list, + metadata={ + "name": "Supplement", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Supplement(BaseModel): + model_config = ConfigDict(defer_build=True) + prerequisite_inventory: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Supplements.Supplement.PrerequisiteInventory" + ] = field( + default=None, + metadata={ + "name": "PrerequisiteInventory", + "type": "Element", + }, + ) + description: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Supplements.Supplement.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "max_occurs": 5, + }, + ) + add_to_basic_rate_indicator: Optional[ + SupplementAddToBasicRateIndicator + ] = field( + default=None, + metadata={ + "name": "AddToBasicRateIndicator", + "type": "Attribute", + }, + ) + charge_type_code: Optional[SupplementChargeTypeCode] = ( + field( + default=None, + metadata={ + "name": "ChargeTypeCode", + "type": "Attribute", + }, + ) + ) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + inv_type: SupplementInvType = field( + metadata={ + "name": "InvType", + "type": "Attribute", + "required": True, + } + ) + inv_code: str = field( + metadata={ + "name": "InvCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + mandatory_indicator: Optional[str] = field( + default=None, + metadata={ + "name": "MandatoryIndicator", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[str] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + "min_length": 1, + }, + ) + image: list[str] = field( + default_factory=list, + metadata={ + "name": "Image", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + text: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Supplements.Supplement.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + url: list[str] = field( + default_factory=list, + metadata={ + "name": "URL", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + name: DescriptionName = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + class PrerequisiteInventory(BaseModel): + model_config = ConfigDict(defer_build=True) + inv_code: str = field( + metadata={ + "name": "InvCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + inv_type: PrerequisiteInventoryInvType = field( + metadata={ + "name": "InvType", + "type": "Attribute", + "required": True, + } + ) + + class Offers(BaseModel): + model_config = ConfigDict(defer_build=True) + offer: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer" + ] = field( + default_factory=list, + metadata={ + "name": "Offer", + "type": "Element", + "min_occurs": 1, + "max_occurs": 3, + }, + ) + + class Offer(BaseModel): + model_config = ConfigDict(defer_build=True) + offer_rules: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules" + ] = field( + default=None, + metadata={ + "name": "OfferRules", + "type": "Element", + }, + ) + discount: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.Discount" + ] = field( + default=None, + metadata={ + "name": "Discount", + "type": "Element", + }, + ) + guests: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.Guests" + ] = field( + default=None, + metadata={ + "name": "Guests", + "type": "Element", + }, + ) + + class OfferRules(BaseModel): + model_config = ConfigDict(defer_build=True) + offer_rule: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule" + ] = field( + default=None, + metadata={ + "name": "OfferRule", + "type": "Element", + }, + ) + + class OfferRule(BaseModel): + model_config = ConfigDict(defer_build=True) + lengths_of_stay: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.LengthsOfStay" + ] = field( + default=None, + metadata={ + "name": "LengthsOfStay", + "type": "Element", + }, + ) + dow_restrictions: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.DowRestrictions" + ] = field( + default=None, + metadata={ + "name": "DOW_Restrictions", + "type": "Element", + }, + ) + occupancy: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.Occupancy" + ] = field( + default_factory=list, + metadata={ + "name": "Occupancy", + "type": "Element", + "min_occurs": 1, + }, + ) + min_advanced_booking_offset: Optional[str] = field( + default=None, + metadata={ + "name": "MinAdvancedBookingOffset", + "type": "Attribute", + "pattern": r"P[0-9]+D", + }, + ) + max_advanced_booking_offset: Optional[str] = field( + default=None, + metadata={ + "name": "MaxAdvancedBookingOffset", + "type": "Attribute", + "pattern": r"P[0-9]+D", + }, + ) + + class LengthsOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + length_of_stay: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.LengthsOfStay.LengthOfStay" + ] = field( + default_factory=list, + metadata={ + "name": "LengthOfStay", + "type": "Element", + "min_occurs": 1, + }, + ) + + class LengthOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + time: str = field( + metadata={ + "name": "Time", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + time_unit: LengthOfStayTimeUnit = field( + metadata={ + "name": "TimeUnit", + "type": "Attribute", + "required": True, + } + ) + min_max_message_type: LengthOfStayMinMaxMessageType2 = field( + metadata={ + "name": "MinMaxMessageType", + "type": "Attribute", + "required": True, + } + ) + + class DowRestrictions(BaseModel): + model_config = ConfigDict(defer_build=True) + arrival_days_of_week: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.DowRestrictions.ArrivalDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "ArrivalDaysOfWeek", + "type": "Element", + }, + ) + departure_days_of_week: Optional[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.DowRestrictions.DepartureDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "DepartureDaysOfWeek", + "type": "Element", + }, + ) + + class ArrivalDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class DepartureDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Occupancy(BaseModel): + model_config = ConfigDict(defer_build=True) + age_qualifying_code: OccupancyAgeQualifyingCode = field( + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "required": True, + } + ) + min_age: Optional[str] = field( + default=None, + metadata={ + "name": "MinAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_age: Optional[str] = field( + default=None, + metadata={ + "name": "MaxAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + min_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MinOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MaxOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Discount(BaseModel): + model_config = ConfigDict(defer_build=True) + percent: DiscountPercent = field( + metadata={ + "name": "Percent", + "type": "Attribute", + "required": True, + } + ) + nights_required: Optional[str] = field( + default=None, + metadata={ + "name": "NightsRequired", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + nights_discounted: Optional[str] = field( + default=None, + metadata={ + "name": "NightsDiscounted", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + discount_pattern: Optional[str] = field( + default=None, + metadata={ + "name": "DiscountPattern", + "type": "Attribute", + "pattern": r"0*1*", + }, + ) + + class Guests(BaseModel): + model_config = ConfigDict(defer_build=True) + guest: "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers.Offer.Guests.Guest" = field( + metadata={ + "name": "Guest", + "type": "Element", + "required": True, + } + ) + + class Guest(BaseModel): + model_config = ConfigDict(defer_build=True) + age_qualifying_code: str = field( + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + max_age: str = field( + metadata={ + "name": "MaxAge", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + min_count: str = field( + metadata={ + "name": "MinCount", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + first_qualifying_position: GuestFirstQualifyingPosition = field( + metadata={ + "name": "FirstQualifyingPosition", + "type": "Attribute", + "required": True, + } + ) + last_qualifying_position: str = field( + metadata={ + "name": "LastQualifyingPosition", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[str] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + "min_length": 1, + }, + ) + image: list[str] = field( + default_factory=list, + metadata={ + "name": "Image", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + text: list[ + "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + url: list[str] = field( + default_factory=list, + metadata={ + "name": "URL", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + name: DescriptionName = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + +class OtaHotelRatePlanNotifRs(BaseModel): + class Meta: + name = "OTA_HotelRatePlanNotifRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelRatePlanNotifRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelRatePlanNotifRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelRatePlanNotifRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelRatePlanNotifRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + +class OtaHotelRatePlanRs(BaseModel): + class Meta: + name = "OTA_HotelRatePlanRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelRatePlanRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelRatePlanRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + rate_plans: Optional["OtaHotelRatePlanRs.RatePlans"] = field( + default=None, + metadata={ + "name": "RatePlans", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelRatePlanRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelRatePlanRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class RatePlans(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan: list["OtaHotelRatePlanRs.RatePlans.RatePlan"] = field( + default_factory=list, + metadata={ + "name": "RatePlan", + "type": "Element", + "min_occurs": 1, + }, + ) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + class RatePlan(BaseModel): + model_config = ConfigDict(defer_build=True) + booking_rules: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules" + ] = field( + default=None, + metadata={ + "name": "BookingRules", + "type": "Element", + }, + ) + rates: Optional["OtaHotelRatePlanRs.RatePlans.RatePlan.Rates"] = ( + field( + default=None, + metadata={ + "name": "Rates", + "type": "Element", + }, + ) + ) + supplements: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Supplements" + ] = field( + default=None, + metadata={ + "name": "Supplements", + "type": "Element", + }, + ) + offers: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers" + ] = field( + default=None, + metadata={ + "name": "Offers", + "type": "Element", + }, + ) + description: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "max_occurs": 5, + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + rate_plan_notif_type: Optional[RatePlanRatePlanNotifType] = field( + default=None, + metadata={ + "name": "RatePlanNotifType", + "type": "Attribute", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + rate_plan_code: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_type: Optional[RatePlanRatePlanType] = field( + default=None, + metadata={ + "name": "RatePlanType", + "type": "Attribute", + }, + ) + rate_plan_category: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCategory", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_id: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + rate_plan_qualifier: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanQualifier", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class BookingRules(BaseModel): + model_config = ConfigDict(defer_build=True) + booking_rule: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule" + ] = field( + default_factory=list, + metadata={ + "name": "BookingRule", + "type": "Element", + "min_occurs": 1, + }, + ) + + class BookingRule(BaseModel): + model_config = ConfigDict(defer_build=True) + lengths_of_stay: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule.LengthsOfStay" + ] = field( + default=None, + metadata={ + "name": "LengthsOfStay", + "type": "Element", + }, + ) + dow_restrictions: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule.DowRestrictions" + ] = field( + default=None, + metadata={ + "name": "DOW_Restrictions", + "type": "Element", + }, + ) + restriction_status: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule.RestrictionStatus" + ] = field( + default=None, + metadata={ + "name": "RestrictionStatus", + "type": "Element", + }, + ) + code_context: Optional[BookingRuleCodeContext] = field( + default=None, + metadata={ + "name": "CodeContext", + "type": "Attribute", + }, + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class LengthsOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + length_of_stay: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule.LengthsOfStay.LengthOfStay" + ] = field( + default_factory=list, + metadata={ + "name": "LengthOfStay", + "type": "Element", + "min_occurs": 1, + }, + ) + + class LengthOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + time: str = field( + metadata={ + "name": "Time", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + time_unit: LengthOfStayTimeUnit = field( + metadata={ + "name": "TimeUnit", + "type": "Attribute", + "required": True, + } + ) + min_max_message_type: LengthOfStayMinMaxMessageType1 = field( + metadata={ + "name": "MinMaxMessageType", + "type": "Attribute", + "required": True, + } + ) + + class DowRestrictions(BaseModel): + model_config = ConfigDict(defer_build=True) + arrival_days_of_week: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule.DowRestrictions.ArrivalDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "ArrivalDaysOfWeek", + "type": "Element", + }, + ) + departure_days_of_week: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.BookingRules.BookingRule.DowRestrictions.DepartureDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "DepartureDaysOfWeek", + "type": "Element", + }, + ) + + class ArrivalDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class DepartureDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class RestrictionStatus(BaseModel): + model_config = ConfigDict(defer_build=True) + restriction: Optional[RestrictionStatusRestriction] = ( + field( + default=None, + metadata={ + "name": "Restriction", + "type": "Attribute", + }, + ) + ) + status: Optional[RestrictionStatusStatus] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + + class Rates(BaseModel): + model_config = ConfigDict(defer_build=True) + rate: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate" + ] = field( + default_factory=list, + metadata={ + "name": "Rate", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Rate(BaseModel): + model_config = ConfigDict(defer_build=True) + base_by_guest_amts: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.BaseByGuestAmts" + ] = field( + default=None, + metadata={ + "name": "BaseByGuestAmts", + "type": "Element", + }, + ) + additional_guest_amounts: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.AdditionalGuestAmounts" + ] = field( + default=None, + metadata={ + "name": "AdditionalGuestAmounts", + "type": "Element", + }, + ) + rate_description: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.RateDescription" + ] = field( + default=None, + metadata={ + "name": "RateDescription", + "type": "Element", + }, + ) + meals_included: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.MealsIncluded" + ] = field( + default=None, + metadata={ + "name": "MealsIncluded", + "type": "Element", + }, + ) + min_guest_applicable: Optional[str] = field( + default=None, + metadata={ + "name": "MinGuestApplicable", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + rate_time_unit: Optional[RateRateTimeUnit] = field( + default=None, + metadata={ + "name": "RateTimeUnit", + "type": "Attribute", + }, + ) + unit_multiplier: Optional[str] = field( + default=None, + metadata={ + "name": "UnitMultiplier", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + duration: Optional[str] = field( + default=None, + metadata={ + "name": "Duration", + "type": "Attribute", + "pattern": r"P[0-9]+N", + }, + ) + inv_type_code: Optional[str] = field( + default=None, + metadata={ + "name": "InvTypeCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + + class BaseByGuestAmts(BaseModel): + model_config = ConfigDict(defer_build=True) + base_by_guest_amt: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.BaseByGuestAmts.BaseByGuestAmt" + ] = field( + default_factory=list, + metadata={ + "name": "BaseByGuestAmt", + "type": "Element", + "min_occurs": 1, + }, + ) + + class BaseByGuestAmt(BaseModel): + model_config = ConfigDict(defer_build=True) + number_of_guests: Optional[str] = field( + default=None, + metadata={ + "name": "NumberOfGuests", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + amount_after_tax: Optional[str] = field( + default=None, + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + type_value: Optional[BaseByGuestAmtType] = field( + default=None, + metadata={ + "name": "Type", + "type": "Attribute", + }, + ) + age_qualifying_code: Optional[str] = field( + default=None, + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class AdditionalGuestAmounts(BaseModel): + model_config = ConfigDict(defer_build=True) + additional_guest_amount: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.AdditionalGuestAmounts.AdditionalGuestAmount" + ] = field( + default_factory=list, + metadata={ + "name": "AdditionalGuestAmount", + "type": "Element", + "min_occurs": 1, + }, + ) + + class AdditionalGuestAmount(BaseModel): + model_config = ConfigDict(defer_build=True) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + age_qualifying_code: Optional[str] = field( + default=None, + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + min_age: Optional[str] = field( + default=None, + metadata={ + "name": "MinAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_age: Optional[str] = field( + default=None, + metadata={ + "name": "MaxAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class RateDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate.RateDescription.ListItem" + ] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + "min_occurs": 1, + }, + ) + name: RateDescriptionName = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class ListItem(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + list_item: str = field( + metadata={ + "name": "ListItem", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class MealsIncluded(BaseModel): + model_config = ConfigDict(defer_build=True) + breakfast: Optional[str] = field( + default=None, + metadata={ + "name": "Breakfast", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + lunch: Optional[str] = field( + default=None, + metadata={ + "name": "Lunch", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + dinner: Optional[str] = field( + default=None, + metadata={ + "name": "Dinner", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + meal_plan_codes: Optional[ + MealsIncludedMealPlanCodes + ] = field( + default=None, + metadata={ + "name": "MealPlanCodes", + "type": "Attribute", + }, + ) + meal_plan_indicator: Optional[ + MealsIncludedMealPlanIndicator + ] = field( + default=None, + metadata={ + "name": "MealPlanIndicator", + "type": "Attribute", + }, + ) + + class Supplements(BaseModel): + model_config = ConfigDict(defer_build=True) + supplement: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Supplements.Supplement" + ] = field( + default_factory=list, + metadata={ + "name": "Supplement", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Supplement(BaseModel): + model_config = ConfigDict(defer_build=True) + prerequisite_inventory: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Supplements.Supplement.PrerequisiteInventory" + ] = field( + default=None, + metadata={ + "name": "PrerequisiteInventory", + "type": "Element", + }, + ) + description: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Supplements.Supplement.Description" + ] = field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "max_occurs": 5, + }, + ) + add_to_basic_rate_indicator: Optional[ + SupplementAddToBasicRateIndicator + ] = field( + default=None, + metadata={ + "name": "AddToBasicRateIndicator", + "type": "Attribute", + }, + ) + charge_type_code: Optional[SupplementChargeTypeCode] = ( + field( + default=None, + metadata={ + "name": "ChargeTypeCode", + "type": "Attribute", + }, + ) + ) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + inv_type: SupplementInvType = field( + metadata={ + "name": "InvType", + "type": "Attribute", + "required": True, + } + ) + inv_code: str = field( + metadata={ + "name": "InvCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + mandatory_indicator: Optional[str] = field( + default=None, + metadata={ + "name": "MandatoryIndicator", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[str] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + "min_length": 1, + }, + ) + image: list[str] = field( + default_factory=list, + metadata={ + "name": "Image", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + text: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Supplements.Supplement.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + url: list[str] = field( + default_factory=list, + metadata={ + "name": "URL", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + name: DescriptionName = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + class PrerequisiteInventory(BaseModel): + model_config = ConfigDict(defer_build=True) + inv_code: str = field( + metadata={ + "name": "InvCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + inv_type: PrerequisiteInventoryInvType = field( + metadata={ + "name": "InvType", + "type": "Attribute", + "required": True, + } + ) + + class Offers(BaseModel): + model_config = ConfigDict(defer_build=True) + offer: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer" + ] = field( + default_factory=list, + metadata={ + "name": "Offer", + "type": "Element", + "min_occurs": 1, + "max_occurs": 3, + }, + ) + + class Offer(BaseModel): + model_config = ConfigDict(defer_build=True) + offer_rules: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules" + ] = field( + default=None, + metadata={ + "name": "OfferRules", + "type": "Element", + }, + ) + discount: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.Discount" + ] = field( + default=None, + metadata={ + "name": "Discount", + "type": "Element", + }, + ) + guests: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.Guests" + ] = field( + default=None, + metadata={ + "name": "Guests", + "type": "Element", + }, + ) + + class OfferRules(BaseModel): + model_config = ConfigDict(defer_build=True) + offer_rule: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule" + ] = field( + default=None, + metadata={ + "name": "OfferRule", + "type": "Element", + }, + ) + + class OfferRule(BaseModel): + model_config = ConfigDict(defer_build=True) + lengths_of_stay: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.LengthsOfStay" + ] = field( + default=None, + metadata={ + "name": "LengthsOfStay", + "type": "Element", + }, + ) + dow_restrictions: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.DowRestrictions" + ] = field( + default=None, + metadata={ + "name": "DOW_Restrictions", + "type": "Element", + }, + ) + occupancy: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.Occupancy" + ] = field( + default_factory=list, + metadata={ + "name": "Occupancy", + "type": "Element", + "min_occurs": 1, + }, + ) + min_advanced_booking_offset: Optional[str] = field( + default=None, + metadata={ + "name": "MinAdvancedBookingOffset", + "type": "Attribute", + "pattern": r"P[0-9]+D", + }, + ) + max_advanced_booking_offset: Optional[str] = field( + default=None, + metadata={ + "name": "MaxAdvancedBookingOffset", + "type": "Attribute", + "pattern": r"P[0-9]+D", + }, + ) + + class LengthsOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + length_of_stay: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.LengthsOfStay.LengthOfStay" + ] = field( + default_factory=list, + metadata={ + "name": "LengthOfStay", + "type": "Element", + "min_occurs": 1, + }, + ) + + class LengthOfStay(BaseModel): + model_config = ConfigDict(defer_build=True) + time: str = field( + metadata={ + "name": "Time", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + time_unit: LengthOfStayTimeUnit = field( + metadata={ + "name": "TimeUnit", + "type": "Attribute", + "required": True, + } + ) + min_max_message_type: LengthOfStayMinMaxMessageType2 = field( + metadata={ + "name": "MinMaxMessageType", + "type": "Attribute", + "required": True, + } + ) + + class DowRestrictions(BaseModel): + model_config = ConfigDict(defer_build=True) + arrival_days_of_week: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.DowRestrictions.ArrivalDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "ArrivalDaysOfWeek", + "type": "Element", + }, + ) + departure_days_of_week: Optional[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.OfferRules.OfferRule.DowRestrictions.DepartureDaysOfWeek" + ] = field( + default=None, + metadata={ + "name": "DepartureDaysOfWeek", + "type": "Element", + }, + ) + + class ArrivalDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class DepartureDaysOfWeek(BaseModel): + model_config = ConfigDict(defer_build=True) + mon: Optional[str] = field( + default=None, + metadata={ + "name": "Mon", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + tue: Optional[str] = field( + default=None, + metadata={ + "name": "Tue", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + weds: Optional[str] = field( + default=None, + metadata={ + "name": "Weds", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + thur: Optional[str] = field( + default=None, + metadata={ + "name": "Thur", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + fri: Optional[str] = field( + default=None, + metadata={ + "name": "Fri", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sat: Optional[str] = field( + default=None, + metadata={ + "name": "Sat", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + sun: Optional[str] = field( + default=None, + metadata={ + "name": "Sun", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Occupancy(BaseModel): + model_config = ConfigDict(defer_build=True) + age_qualifying_code: OccupancyAgeQualifyingCode = field( + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "required": True, + } + ) + min_age: Optional[str] = field( + default=None, + metadata={ + "name": "MinAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_age: Optional[str] = field( + default=None, + metadata={ + "name": "MaxAge", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + min_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MinOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + max_occupancy: Optional[str] = field( + default=None, + metadata={ + "name": "MaxOccupancy", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Discount(BaseModel): + model_config = ConfigDict(defer_build=True) + percent: DiscountPercent = field( + metadata={ + "name": "Percent", + "type": "Attribute", + "required": True, + } + ) + nights_required: Optional[str] = field( + default=None, + metadata={ + "name": "NightsRequired", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + nights_discounted: Optional[str] = field( + default=None, + metadata={ + "name": "NightsDiscounted", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + discount_pattern: Optional[str] = field( + default=None, + metadata={ + "name": "DiscountPattern", + "type": "Attribute", + "pattern": r"0*1*", + }, + ) + + class Guests(BaseModel): + model_config = ConfigDict(defer_build=True) + guest: "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer.Guests.Guest" = field( + metadata={ + "name": "Guest", + "type": "Element", + "required": True, + } + ) + + class Guest(BaseModel): + model_config = ConfigDict(defer_build=True) + age_qualifying_code: str = field( + metadata={ + "name": "AgeQualifyingCode", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + max_age: str = field( + metadata={ + "name": "MaxAge", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + min_count: str = field( + metadata={ + "name": "MinCount", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + first_qualifying_position: GuestFirstQualifyingPosition = field( + metadata={ + "name": "FirstQualifyingPosition", + "type": "Attribute", + "required": True, + } + ) + last_qualifying_position: str = field( + metadata={ + "name": "LastQualifyingPosition", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class Description(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[str] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + "min_length": 1, + }, + ) + image: list[str] = field( + default_factory=list, + metadata={ + "name": "Image", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + text: list[ + "OtaHotelRatePlanRs.RatePlans.RatePlan.Description.Text" + ] = field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + url: list[str] = field( + default_factory=list, + metadata={ + "name": "URL", + "type": "Element", + "pattern": r"https?://.+", + }, + ) + name: DescriptionName = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat2 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + +class OtaHotelResNotifRq(BaseModel): + class Meta: + name = "OTA_HotelResNotifRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + hotel_reservations: "OtaHotelResNotifRq.HotelReservations" = field( + metadata={ + "name": "HotelReservations", + "type": "Element", + "required": True, + } + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class HotelReservations(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservation: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation" + ] = field( + default_factory=list, + metadata={ + "name": "HotelReservation", + "type": "Element", + }, + ) + + class HotelReservation(BaseModel): + model_config = ConfigDict(defer_build=True) + unique_id: "OtaHotelResNotifRq.HotelReservations.HotelReservation.UniqueId" = field( + metadata={ + "name": "UniqueID", + "type": "Element", + "required": True, + } + ) + room_stays: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays" + ] = field( + default=None, + metadata={ + "name": "RoomStays", + "type": "Element", + }, + ) + services: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services" + ] = field( + default=None, + metadata={ + "name": "Services", + "type": "Element", + }, + ) + res_guests: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests" + ] = field( + default=None, + metadata={ + "name": "ResGuests", + "type": "Element", + }, + ) + res_global_info: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo" + ] = field( + default=None, + metadata={ + "name": "ResGlobalInfo", + "type": "Element", + }, + ) + create_date_time: str = field( + metadata={ + "name": "CreateDateTime", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + last_modify_date_time: Optional[str] = field( + default=None, + metadata={ + "name": "LastModifyDateTime", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + res_status: HotelReservationResStatus = field( + metadata={ + "name": "ResStatus", + "type": "Attribute", + "required": True, + } + ) + room_stay_reservation: Optional[str] = field( + default=None, + metadata={ + "name": "RoomStayReservation", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class UniqueId(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: UniqueIdType2 = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + + class RoomStays(BaseModel): + model_config = ConfigDict(defer_build=True) + room_stay: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay" + ] = field( + default_factory=list, + metadata={ + "name": "RoomStay", + "type": "Element", + "min_occurs": 1, + }, + ) + + class RoomStay(BaseModel): + model_config = ConfigDict(defer_build=True) + room_types: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomTypes" + ] = field( + default=None, + metadata={ + "name": "RoomTypes", + "type": "Element", + }, + ) + rate_plans: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RatePlans" + ] = field( + default=None, + metadata={ + "name": "RatePlans", + "type": "Element", + }, + ) + room_rates: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomRates" + ] = field( + default=None, + metadata={ + "name": "RoomRates", + "type": "Element", + }, + ) + guest_counts: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.GuestCounts" + ] = field( + default=None, + metadata={ + "name": "GuestCounts", + "type": "Element", + }, + ) + time_span: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.TimeSpan" = field( + metadata={ + "name": "TimeSpan", + "type": "Element", + "required": True, + } + ) + guarantee: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.Guarantee" + ] = field( + default=None, + metadata={ + "name": "Guarantee", + "type": "Element", + }, + ) + total: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.Total" + ] = field( + default=None, + metadata={ + "name": "Total", + "type": "Element", + }, + ) + service_rphs: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.ServiceRphs" + ] = field( + default=None, + metadata={ + "name": "ServiceRPHs", + "type": "Element", + }, + ) + room_stay_group_id: Optional[str] = field( + default=None, + metadata={ + "name": "RoomStayGroupID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + + class RoomTypes(BaseModel): + model_config = ConfigDict(defer_build=True) + room_type: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomTypes.RoomType" = field( + metadata={ + "name": "RoomType", + "type": "Element", + "required": True, + } + ) + + class RoomType(BaseModel): + model_config = ConfigDict(defer_build=True) + room_type_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomTypeCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + room_classification_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomClassificationCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_type: Optional[RoomTypeRoomType] = field( + default=None, + metadata={ + "name": "RoomType", + "type": "Attribute", + }, + ) + + class RatePlans(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan" = field( + metadata={ + "name": "RatePlan", + "type": "Element", + "required": True, + } + ) + + class RatePlan(BaseModel): + model_config = ConfigDict(defer_build=True) + commission: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan.Commission" + ] = field( + default=None, + metadata={ + "name": "Commission", + "type": "Element", + }, + ) + meals_included: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan.MealsIncluded" + ] = field( + default=None, + metadata={ + "name": "MealsIncluded", + "type": "Element", + }, + ) + rate_plan_code: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class Commission(BaseModel): + model_config = ConfigDict(defer_build=True) + commission_payable_amount: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan.Commission.CommissionPayableAmount" + ] = field( + default=None, + metadata={ + "name": "CommissionPayableAmount", + "type": "Element", + }, + ) + percent: Optional[str] = field( + default=None, + metadata={ + "name": "Percent", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class CommissionPayableAmount(BaseModel): + model_config = ConfigDict(defer_build=True) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + + class MealsIncluded(BaseModel): + model_config = ConfigDict(defer_build=True) + meal_plan_indicator: MealsIncludedMealPlanIndicator = field( + metadata={ + "name": "MealPlanIndicator", + "type": "Attribute", + "required": True, + } + ) + meal_plan_codes: MealsIncludedMealPlanCodes = ( + field( + metadata={ + "name": "MealPlanCodes", + "type": "Attribute", + "required": True, + } + ) + ) + + class RoomRates(BaseModel): + model_config = ConfigDict(defer_build=True) + room_rate: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate" = field( + metadata={ + "name": "RoomRate", + "type": "Element", + "required": True, + } + ) + + class RoomRate(BaseModel): + model_config = ConfigDict(defer_build=True) + rates: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate.Rates" = field( + metadata={ + "name": "Rates", + "type": "Element", + "required": True, + } + ) + rate_plan_code: str = field( + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + room_type_code: str = field( + metadata={ + "name": "RoomTypeCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 8, + } + ) + + class Rates(BaseModel): + model_config = ConfigDict(defer_build=True) + rate: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate.Rates.Rate" + ] = field( + default_factory=list, + metadata={ + "name": "Rate", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Rate(BaseModel): + model_config = ConfigDict(defer_build=True) + base: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate.Rates.Rate.Base" + ] = field( + default_factory=list, + metadata={ + "name": "Base", + "type": "Element", + "min_occurs": 1, + }, + ) + effective_date: str = field( + metadata={ + "name": "EffectiveDate", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + expire_date: Optional[str] = field( + default=None, + metadata={ + "name": "ExpireDate", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + expire_date_exclusive_ind: Optional[ + str + ] = field( + default=None, + metadata={ + "name": "ExpireDateExclusiveInd", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + rate_time_unit: Optional[ + RateRateTimeUnit + ] = field( + default=None, + metadata={ + "name": "RateTimeUnit", + "type": "Attribute", + }, + ) + unit_multiplier: Optional[str] = field( + default=None, + metadata={ + "name": "UnitMultiplier", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Base(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + amount_after_tax: Optional[str] = ( + field( + default=None, + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + + class GuestCounts(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_count: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.GuestCounts.GuestCount" + ] = field( + default_factory=list, + metadata={ + "name": "GuestCount", + "type": "Element", + "min_occurs": 1, + }, + ) + + class GuestCount(BaseModel): + model_config = ConfigDict(defer_build=True) + count: str = field( + metadata={ + "name": "Count", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + age: Optional[str] = field( + default=None, + metadata={ + "name": "Age", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class TimeSpan(BaseModel): + model_config = ConfigDict(defer_build=True) + start_date_window: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.TimeSpan.StartDateWindow" + ] = field( + default=None, + metadata={ + "name": "StartDateWindow", + "type": "Element", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + duration: Optional[str] = field( + default=None, + metadata={ + "name": "Duration", + "type": "Attribute", + "pattern": r"P[0-9]+N", + }, + ) + + class StartDateWindow(BaseModel): + model_config = ConfigDict(defer_build=True) + earliest_date: str = field( + metadata={ + "name": "EarliestDate", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + latest_date: str = field( + metadata={ + "name": "LatestDate", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + + class Guarantee(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantees_accepted: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted" = field( + metadata={ + "name": "GuaranteesAccepted", + "type": "Element", + "required": True, + } + ) + + class GuaranteesAccepted(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantee_accepted: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted.GuaranteeAccepted" = field( + metadata={ + "name": "GuaranteeAccepted", + "type": "Element", + "required": True, + } + ) + + class GuaranteeAccepted(BaseModel): + model_config = ConfigDict(defer_build=True) + payment_card: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted.GuaranteeAccepted.PaymentCard" = field( + metadata={ + "name": "PaymentCard", + "type": "Element", + "required": True, + } + ) + + class PaymentCard(BaseModel): + model_config = ConfigDict(defer_build=True) + card_holder_name: str = field( + metadata={ + "name": "CardHolderName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + card_number: "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted.GuaranteeAccepted.PaymentCard.CardNumber" = field( + metadata={ + "name": "CardNumber", + "type": "Element", + "required": True, + } + ) + card_code: str = field( + metadata={ + "name": "CardCode", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]?", + } + ) + expire_date: str = field( + metadata={ + "name": "ExpireDate", + "type": "Attribute", + "required": True, + "pattern": r"[0-9][0-9][0-9][0-9]", + } + ) + + class CardNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: Optional[str] = field( + default=None, + metadata={ + "name": "PlainText", + "type": "Element", + "min_length": 1, + }, + ) + encrypted_value: Optional[str] = field( + default=None, + metadata={ + "name": "EncryptedValue", + "type": "Attribute", + "min_length": 1, + }, + ) + encryption_method: Optional[str] = ( + field( + default=None, + metadata={ + "name": "EncryptionMethod", + "type": "Attribute", + "min_length": 1, + }, + ) + ) + + class Total(BaseModel): + model_config = ConfigDict(defer_build=True) + amount_after_tax: str = field( + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + currency_code: str = field( + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "required": True, + "min_length": 3, + "max_length": 3, + } + ) + + class ServiceRphs(BaseModel): + model_config = ConfigDict(defer_build=True) + service_rph: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.RoomStays.RoomStay.ServiceRphs.ServiceRph" + ] = field( + default_factory=list, + metadata={ + "name": "ServiceRPH", + "type": "Element", + "min_occurs": 1, + }, + ) + + class ServiceRph(BaseModel): + model_config = ConfigDict(defer_build=True) + rph: str = field( + metadata={ + "name": "RPH", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]{1,8}", + } + ) + + class Services(BaseModel): + model_config = ConfigDict(defer_build=True) + service: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service" + ] = field( + default_factory=list, + metadata={ + "name": "Service", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Service(BaseModel): + model_config = ConfigDict(defer_build=True) + service_details: "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails" = field( + metadata={ + "name": "ServiceDetails", + "type": "Element", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + type_value: ServiceType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + service_category_code: ServiceServiceCategoryCode = field( + metadata={ + "name": "ServiceCategoryCode", + "type": "Attribute", + "required": True, + } + ) + service_inventory_code: str = field( + metadata={ + "name": "ServiceInventoryCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + service_rph: Optional[str] = field( + default=None, + metadata={ + "name": "ServiceRPH", + "type": "Attribute", + "pattern": r"[0-9]{1,8}", + }, + ) + service_pricing_type: ServiceServicePricingType = field( + metadata={ + "name": "ServicePricingType", + "type": "Attribute", + "required": True, + } + ) + inclusive: bool = field( + metadata={ + "name": "Inclusive", + "type": "Attribute", + "required": True, + } + ) + quantity: str = field( + metadata={ + "name": "Quantity", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class ServiceDetails(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_counts: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.GuestCounts" + ] = field( + default=None, + metadata={ + "name": "GuestCounts", + "type": "Element", + }, + ) + time_span: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.TimeSpan" + ] = field( + default=None, + metadata={ + "name": "TimeSpan", + "type": "Element", + }, + ) + comments: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.Comments" + ] = field( + default=None, + metadata={ + "name": "Comments", + "type": "Element", + }, + ) + total: "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.Total" = field( + metadata={ + "name": "Total", + "type": "Element", + "required": True, + } + ) + service_description: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.ServiceDescription" + ] = field( + default=None, + metadata={ + "name": "ServiceDescription", + "type": "Element", + }, + ) + + class GuestCounts(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_count: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.GuestCounts.GuestCount" + ] = field( + default_factory=list, + metadata={ + "name": "GuestCount", + "type": "Element", + "min_occurs": 1, + "max_occurs": 99, + }, + ) + + class GuestCount(BaseModel): + model_config = ConfigDict(defer_build=True) + age: Optional[str] = field( + default=None, + metadata={ + "name": "Age", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + count: str = field( + metadata={ + "name": "Count", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class TimeSpan(BaseModel): + model_config = ConfigDict(defer_build=True) + start: str = field( + metadata={ + "name": "Start", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Comments(BaseModel): + model_config = ConfigDict(defer_build=True) + comment: "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.Comments.Comment" = field( + metadata={ + "name": "Comment", + "type": "Element", + "required": True, + } + ) + + class Comment(BaseModel): + model_config = ConfigDict(defer_build=True) + text: "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.Comments.Comment.Text" = field( + metadata={ + "name": "Text", + "type": "Element", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + + class Total(BaseModel): + model_config = ConfigDict(defer_build=True) + amount_after_tax: str = field( + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + currency_code: str = field( + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "required": True, + "min_length": 3, + "max_length": 3, + } + ) + + class ServiceDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: "OtaHotelResNotifRq.HotelReservations.HotelReservation.Services.Service.ServiceDetails.ServiceDescription.Text" = field( + metadata={ + "name": "Text", + "type": "Element", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + + class ResGuests(BaseModel): + model_config = ConfigDict(defer_build=True) + res_guest: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest" = field( + metadata={ + "name": "ResGuest", + "type": "Element", + "required": True, + } + ) + + class ResGuest(BaseModel): + model_config = ConfigDict(defer_build=True) + profiles: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles" = field( + metadata={ + "name": "Profiles", + "type": "Element", + "required": True, + } + ) + + class Profiles(BaseModel): + model_config = ConfigDict(defer_build=True) + profile_info: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo" = field( + metadata={ + "name": "ProfileInfo", + "type": "Element", + "required": True, + } + ) + + class ProfileInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + profile: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile" = field( + metadata={ + "name": "Profile", + "type": "Element", + "required": True, + } + ) + + class Profile(BaseModel): + model_config = ConfigDict(defer_build=True) + customer: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer" = field( + metadata={ + "name": "Customer", + "type": "Element", + "required": True, + } + ) + + class Customer(BaseModel): + model_config = ConfigDict(defer_build=True) + person_name: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.PersonName" = field( + metadata={ + "name": "PersonName", + "type": "Element", + "required": True, + } + ) + telephone: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Telephone" + ] = field( + default_factory=list, + metadata={ + "name": "Telephone", + "type": "Element", + }, + ) + email: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Email" + ] = field( + default=None, + metadata={ + "name": "Email", + "type": "Element", + }, + ) + address: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Address" + ] = field( + default=None, + metadata={ + "name": "Address", + "type": "Element", + }, + ) + gender: Optional[str] = field( + default=None, + metadata={ + "name": "Gender", + "type": "Attribute", + "pattern": r"(Unknown|Male|Female)", + }, + ) + birth_date: Optional[str] = field( + default=None, + metadata={ + "name": "BirthDate", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + class PersonName(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + name_prefix: Optional[str] = field( + default=None, + metadata={ + "name": "NamePrefix", + "type": "Element", + "min_length": 1, + "max_length": 16, + }, + ) + given_name: str = field( + metadata={ + "name": "GivenName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + surname: str = field( + metadata={ + "name": "Surname", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + name_title: Optional[str] = field( + default=None, + metadata={ + "name": "NameTitle", + "type": "Element", + "min_length": 1, + "max_length": 16, + }, + ) + + class Telephone(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + phone_tech_type: Optional[str] = field( + default=None, + metadata={ + "name": "PhoneTechType", + "type": "Attribute", + "pattern": r"(1|3|5)", + }, + ) + phone_number: str = field( + metadata={ + "name": "PhoneNumber", + "type": "Attribute", + "required": True, + "pattern": r"\+?[0-9]+", + } + ) + + class Email(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "pattern": r"\S+@\S+", + }, + ) + remark: Optional[str] = field( + default=None, + metadata={ + "name": "Remark", + "type": "Attribute", + "pattern": r"newsletter:(no|yes)", + }, + ) + + class Address(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + address_line: Optional[str] = field( + default=None, + metadata={ + "name": "AddressLine", + "type": "Element", + "min_length": 1, + "max_length": 255, + }, + ) + city_name: Optional[str] = field( + default=None, + metadata={ + "name": "CityName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + postal_code: Optional[str] = field( + default=None, + metadata={ + "name": "PostalCode", + "type": "Element", + "min_length": 1, + "max_length": 16, + }, + ) + country_name: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Address.CountryName" + ] = field( + default=None, + metadata={ + "name": "CountryName", + "type": "Element", + }, + ) + remark: Optional[str] = field( + default=None, + metadata={ + "name": "Remark", + "type": "Attribute", + "pattern": r"catalog:(no|yes)", + }, + ) + + class CountryName(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]", + } + ) + + class ResGlobalInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + comments: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Comments" + ] = field( + default=None, + metadata={ + "name": "Comments", + "type": "Element", + }, + ) + special_requests: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.SpecialRequests" + ] = field( + default=None, + metadata={ + "name": "SpecialRequests", + "type": "Element", + }, + ) + deposit_payments: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments" + ] = field( + default=None, + metadata={ + "name": "DepositPayments", + "type": "Element", + }, + ) + cancel_penalties: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.CancelPenalties" + ] = field( + default=None, + metadata={ + "name": "CancelPenalties", + "type": "Element", + }, + ) + hotel_reservation_ids: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.HotelReservationIds" + ] = field( + default=None, + metadata={ + "name": "HotelReservationIDs", + "type": "Element", + }, + ) + profiles: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles" + ] = field( + default=None, + metadata={ + "name": "Profiles", + "type": "Element", + }, + ) + basic_property_info: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.BasicPropertyInfo" = field( + metadata={ + "name": "BasicPropertyInfo", + "type": "Element", + "required": True, + } + ) + + class Comments(BaseModel): + model_config = ConfigDict(defer_build=True) + comment: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Comments.Comment" + ] = field( + default_factory=list, + metadata={ + "name": "Comment", + "type": "Element", + "min_occurs": 1, + "max_occurs": 3, + }, + ) + + class Comment(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Comments.Comment.ListItem" + ] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + }, + ) + text: Optional[str] = field( + default=None, + metadata={ + "name": "Text", + "type": "Element", + "min_length": 1, + }, + ) + name: CommentName2 = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class ListItem(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + list_item: str = field( + metadata={ + "name": "ListItem", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class SpecialRequests(BaseModel): + model_config = ConfigDict(defer_build=True) + special_request: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.SpecialRequests.SpecialRequest" + ] = field( + default_factory=list, + metadata={ + "name": "SpecialRequest", + "type": "Element", + "min_occurs": 1, + }, + ) + + class SpecialRequest(BaseModel): + model_config = ConfigDict(defer_build=True) + text: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.SpecialRequests.SpecialRequest.Text" + ] = field( + default=None, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + request_code: str = field( + metadata={ + "name": "RequestCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + code_context: SpecialRequestCodeContext = field( + metadata={ + "name": "CodeContext", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + }, + ) + text_format: TextTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + + class DepositPayments(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantee_payment: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment" + ] = field( + default_factory=list, + metadata={ + "name": "GuaranteePayment", + "type": "Element", + "min_occurs": 1, + }, + ) + + class GuaranteePayment(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payments: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments" = field( + metadata={ + "name": "AcceptedPayments", + "type": "Element", + "required": True, + } + ) + amount_percent: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AmountPercent" + ] = field( + default=None, + metadata={ + "name": "AmountPercent", + "type": "Element", + }, + ) + start: Optional[object] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + }, + ) + guarantee_code: Optional[object] = field( + default=None, + metadata={ + "name": "GuaranteeCode", + "type": "Attribute", + }, + ) + + class AcceptedPayments(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payment: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment" = field( + metadata={ + "name": "AcceptedPayment", + "type": "Element", + "required": True, + } + ) + + class AcceptedPayment(BaseModel): + model_config = ConfigDict(defer_build=True) + payment_card: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.PaymentCard" + ] = field( + default=None, + metadata={ + "name": "PaymentCard", + "type": "Element", + }, + ) + bank_acct: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct" + ] = field( + default=None, + metadata={ + "name": "BankAcct", + "type": "Element", + }, + ) + voucher: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.Voucher" + ] = field( + default=None, + metadata={ + "name": "Voucher", + "type": "Element", + }, + ) + guarantee_type_code: Optional[object] = field( + default=None, + metadata={ + "name": "GuaranteeTypeCode", + "type": "Attribute", + }, + ) + guarantee_id: Optional[object] = field( + default=None, + metadata={ + "name": "GuaranteeID", + "type": "Attribute", + }, + ) + payment_transaction_type_code: Optional[ + object + ] = field( + default=None, + metadata={ + "name": "PaymentTransactionTypeCode", + "type": "Attribute", + }, + ) + + class PaymentCard(BaseModel): + model_config = ConfigDict(defer_build=True) + card_holder_name: Optional[str] = field( + default=None, + metadata={ + "name": "CardHolderName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + card_number: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.PaymentCard.CardNumber" + ] = field( + default=None, + metadata={ + "name": "CardNumber", + "type": "Element", + }, + ) + card_code: Optional[str] = field( + default=None, + metadata={ + "name": "CardCode", + "type": "Attribute", + "pattern": r"[A-Z]{1,2}", + }, + ) + expire_date: Optional[str] = field( + default=None, + metadata={ + "name": "ExpireDate", + "type": "Attribute", + "pattern": r"(0[1-9]|1[0-2])[0-9][0-9]", + }, + ) + + class CardNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + mask: Optional[str] = field( + default=None, + metadata={ + "name": "Mask", + "type": "Attribute", + "pattern": r"[0-9a-zA-Z]{1,32}", + }, + ) + token: Optional[str] = field( + default=None, + metadata={ + "name": "Token", + "type": "Attribute", + "pattern": r"[0-9a-zA-Z]{1,32}", + }, + ) + token_provider_id: Optional[str] = ( + field( + default=None, + metadata={ + "name": "TokenProviderID", + "type": "Attribute", + "min_length": 1, + }, + ) + ) + + class BankAcct(BaseModel): + model_config = ConfigDict(defer_build=True) + bank_acct_name: Optional[str] = field( + default=None, + metadata={ + "name": "BankAcctName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + bank_acct_number: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct.BankAcctNumber" = field( + metadata={ + "name": "BankAcctNumber", + "type": "Element", + "required": True, + } + ) + + class BankAcctNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: str = field( + metadata={ + "name": "PlainText", + "type": "Element", + "required": True, + "pattern": r"[0-9]{1,19}", + } + ) + mask: Optional[str] = field( + default=None, + metadata={ + "name": "Mask", + "type": "Attribute", + "pattern": r"[0-9a-zA-Z]{1,32}", + }, + ) + + class Voucher(BaseModel): + model_config = ConfigDict(defer_build=True) + electronic_indicator: str = field( + metadata={ + "name": "ElectronicIndicator", + "type": "Attribute", + "required": True, + "pattern": r"1|true", + } + ) + identifier: str = field( + metadata={ + "name": "Identifier", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + + class AmountPercent(BaseModel): + model_config = ConfigDict(defer_build=True) + amount: str = field( + metadata={ + "name": "Amount", + "type": "Attribute", + "required": True, + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + + class CancelPenalties(BaseModel): + model_config = ConfigDict(defer_build=True) + cancel_penalty: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.CancelPenalties.CancelPenalty" = field( + metadata={ + "name": "CancelPenalty", + "type": "Element", + "required": True, + } + ) + + class CancelPenalty(BaseModel): + model_config = ConfigDict(defer_build=True) + penalty_description: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.CancelPenalties.CancelPenalty.PenaltyDescription" = field( + metadata={ + "name": "PenaltyDescription", + "type": "Element", + "required": True, + } + ) + + class PenaltyDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: str = field( + metadata={ + "name": "Text", + "type": "Element", + "required": True, + "min_length": 1, + } + ) + + class HotelReservationIds(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservation_id: list[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId" + ] = field( + default_factory=list, + metadata={ + "name": "HotelReservationID", + "type": "Element", + "min_occurs": 1, + }, + ) + + class HotelReservationId(BaseModel): + model_config = ConfigDict(defer_build=True) + res_id_type: str = field( + metadata={ + "name": "ResID_Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + res_id_value: Optional[str] = field( + default=None, + metadata={ + "name": "ResID_Value", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + res_id_source: Optional[str] = field( + default=None, + metadata={ + "name": "ResID_Source", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + res_id_source_context: Optional[str] = field( + default=None, + metadata={ + "name": "ResID_SourceContext", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class Profiles(BaseModel): + model_config = ConfigDict(defer_build=True) + profile_info: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo" = field( + metadata={ + "name": "ProfileInfo", + "type": "Element", + "required": True, + } + ) + + class ProfileInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + profile: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile" = field( + metadata={ + "name": "Profile", + "type": "Element", + "required": True, + } + ) + + class Profile(BaseModel): + model_config = ConfigDict(defer_build=True) + company_info: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo" = field( + metadata={ + "name": "CompanyInfo", + "type": "Element", + "required": True, + } + ) + profile_type: ProfileProfileType = field( + metadata={ + "name": "ProfileType", + "type": "Attribute", + "required": True, + } + ) + + class CompanyInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + company_name: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.CompanyName" = field( + metadata={ + "name": "CompanyName", + "type": "Element", + "required": True, + } + ) + address_info: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.AddressInfo" + ] = field( + default=None, + metadata={ + "name": "AddressInfo", + "type": "Element", + }, + ) + telephone_info: Optional[ + "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.TelephoneInfo" + ] = field( + default=None, + metadata={ + "name": "TelephoneInfo", + "type": "Element", + }, + ) + email: Optional[str] = field( + default=None, + metadata={ + "name": "Email", + "type": "Element", + "min_length": 1, + }, + ) + + class CompanyName(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + code_context: str = field( + metadata={ + "name": "CodeContext", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + + class AddressInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + address_line: str = field( + metadata={ + "name": "AddressLine", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 255, + } + ) + city_name: str = field( + metadata={ + "name": "CityName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + postal_code: str = field( + metadata={ + "name": "PostalCode", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + country_name: "OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.AddressInfo.CountryName" = field( + metadata={ + "name": "CountryName", + "type": "Element", + "required": True, + } + ) + + class CountryName(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]", + } + ) + + class TelephoneInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + phone_tech_type: Optional[str] = field( + default=None, + metadata={ + "name": "PhoneTechType", + "type": "Attribute", + "pattern": r"(1|3|5)", + }, + ) + phone_number: str = field( + metadata={ + "name": "PhoneNumber", + "type": "Attribute", + "required": True, + "pattern": r"\+?[0-9]+", + } + ) + + class BasicPropertyInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) + + +class OtaHotelResNotifRs(BaseModel): + class Meta: + name = "OTA_HotelResNotifRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaHotelResNotifRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaHotelResNotifRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + hotel_reservations: Optional["OtaHotelResNotifRs.HotelReservations"] = ( + field( + default=None, + metadata={ + "name": "HotelReservations", + "type": "Element", + }, + ) + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaHotelResNotifRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaHotelResNotifRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: str = field( + metadata={ + "name": "RecordID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class HotelReservations(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservation: list[ + "OtaHotelResNotifRs.HotelReservations.HotelReservation" + ] = field( + default_factory=list, + metadata={ + "name": "HotelReservation", + "type": "Element", + "min_occurs": 1, + }, + ) + + class HotelReservation(BaseModel): + model_config = ConfigDict(defer_build=True) + unique_id: "OtaHotelResNotifRs.HotelReservations.HotelReservation.UniqueId" = field( + metadata={ + "name": "UniqueID", + "type": "Element", + "required": True, + } + ) + + class UniqueId(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: UniqueIdType2 = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + + +class OtaNotifReportRq(BaseModel): + class Meta: + name = "OTA_NotifReportRQ" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaNotifReportRq.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + notif_details: Optional["OtaNotifReportRq.NotifDetails"] = field( + default=None, + metadata={ + "name": "NotifDetails", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaNotifReportRq.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: str = field( + metadata={ + "name": "RecordID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class NotifDetails(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_notif_report: "OtaNotifReportRq.NotifDetails.HotelNotifReport" = field( + metadata={ + "name": "HotelNotifReport", + "type": "Element", + "required": True, + } + ) + + class HotelNotifReport(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservations: "OtaNotifReportRq.NotifDetails.HotelNotifReport.HotelReservations" = field( + metadata={ + "name": "HotelReservations", + "type": "Element", + "required": True, + } + ) + + class HotelReservations(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservation: list[ + "OtaNotifReportRq.NotifDetails.HotelNotifReport.HotelReservations.HotelReservation" + ] = field( + default_factory=list, + metadata={ + "name": "HotelReservation", + "type": "Element", + "min_occurs": 1, + }, + ) + + class HotelReservation(BaseModel): + model_config = ConfigDict(defer_build=True) + unique_id: "OtaNotifReportRq.NotifDetails.HotelNotifReport.HotelReservations.HotelReservation.UniqueId" = field( + metadata={ + "name": "UniqueID", + "type": "Element", + "required": True, + } + ) + + class UniqueId(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: UniqueIdType2 = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + + +class OtaNotifReportRs(BaseModel): + class Meta: + name = "OTA_NotifReportRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaNotifReportRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaNotifReportRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaNotifReportRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaNotifReportRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + +class OtaPingRs(BaseModel): + class Meta: + name = "OTA_PingRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaPingRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaPingRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + echo_data: Optional[str] = field( + default=None, + metadata={ + "name": "EchoData", + "type": "Element", + "min_length": 1, + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaPingRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[ErrorStatus] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaPingRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + status: Optional[WarningStatus] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + +class OtaResRetrieveRs(BaseModel): + class Meta: + name = "OTA_ResRetrieveRS" + namespace = "http://www.opentravel.org/OTA/2003/05" + + model_config = ConfigDict(defer_build=True) + errors: Optional["OtaResRetrieveRs.Errors"] = field( + default=None, + metadata={ + "name": "Errors", + "type": "Element", + }, + ) + success: Optional[object] = field( + default=None, + metadata={ + "name": "Success", + "type": "Element", + }, + ) + warnings: Optional["OtaResRetrieveRs.Warnings"] = field( + default=None, + metadata={ + "name": "Warnings", + "type": "Element", + }, + ) + reservations_list: Optional["OtaResRetrieveRs.ReservationsList"] = field( + default=None, + metadata={ + "name": "ReservationsList", + "type": "Element", + }, + ) + version: object = field( + metadata={ + "name": "Version", + "type": "Attribute", + "required": True, + } + ) + time_stamp: Optional[object] = field( + default=None, + metadata={ + "name": "TimeStamp", + "type": "Attribute", + }, + ) + + class Errors(BaseModel): + model_config = ConfigDict(defer_build=True) + error: list["OtaResRetrieveRs.Errors.Error"] = field( + default_factory=list, + metadata={ + "name": "Error", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Error(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: ErrorType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class Warnings(BaseModel): + model_config = ConfigDict(defer_build=True) + warning: list["OtaResRetrieveRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Warning(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: str = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + code: Optional[str] = field( + default=None, + metadata={ + "name": "Code", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + record_id: Optional[str] = field( + default=None, + metadata={ + "name": "RecordID", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + status: Optional[DefSendComplete] = field( + default=None, + metadata={ + "name": "Status", + "type": "Attribute", + }, + ) + content: list[object] = field( + default_factory=list, + metadata={ + "type": "Wildcard", + "namespace": "##any", + "mixed": True, + }, + ) + + class ReservationsList(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservation: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation" + ] = field( + default_factory=list, + metadata={ + "name": "HotelReservation", + "type": "Element", + }, + ) + + class HotelReservation(BaseModel): + model_config = ConfigDict(defer_build=True) + unique_id: "OtaResRetrieveRs.ReservationsList.HotelReservation.UniqueId" = field( + metadata={ + "name": "UniqueID", + "type": "Element", + "required": True, + } + ) + room_stays: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays" + ] = field( + default=None, + metadata={ + "name": "RoomStays", + "type": "Element", + }, + ) + services: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services" + ] = field( + default=None, + metadata={ + "name": "Services", + "type": "Element", + }, + ) + res_guests: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests" + ] = field( + default=None, + metadata={ + "name": "ResGuests", + "type": "Element", + }, + ) + res_global_info: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo" + ] = field( + default=None, + metadata={ + "name": "ResGlobalInfo", + "type": "Element", + }, + ) + create_date_time: str = field( + metadata={ + "name": "CreateDateTime", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + last_modify_date_time: Optional[str] = field( + default=None, + metadata={ + "name": "LastModifyDateTime", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + res_status: HotelReservationResStatus = field( + metadata={ + "name": "ResStatus", + "type": "Attribute", + "required": True, + } + ) + room_stay_reservation: Optional[str] = field( + default=None, + metadata={ + "name": "RoomStayReservation", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class UniqueId(BaseModel): + model_config = ConfigDict(defer_build=True) + type_value: UniqueIdType2 = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + + class RoomStays(BaseModel): + model_config = ConfigDict(defer_build=True) + room_stay: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay" + ] = field( + default_factory=list, + metadata={ + "name": "RoomStay", + "type": "Element", + "min_occurs": 1, + }, + ) + + class RoomStay(BaseModel): + model_config = ConfigDict(defer_build=True) + room_types: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomTypes" + ] = field( + default=None, + metadata={ + "name": "RoomTypes", + "type": "Element", + }, + ) + rate_plans: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RatePlans" + ] = field( + default=None, + metadata={ + "name": "RatePlans", + "type": "Element", + }, + ) + room_rates: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomRates" + ] = field( + default=None, + metadata={ + "name": "RoomRates", + "type": "Element", + }, + ) + guest_counts: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.GuestCounts" + ] = field( + default=None, + metadata={ + "name": "GuestCounts", + "type": "Element", + }, + ) + time_span: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.TimeSpan" = field( + metadata={ + "name": "TimeSpan", + "type": "Element", + "required": True, + } + ) + guarantee: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.Guarantee" + ] = field( + default=None, + metadata={ + "name": "Guarantee", + "type": "Element", + }, + ) + total: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.Total" + ] = field( + default=None, + metadata={ + "name": "Total", + "type": "Element", + }, + ) + service_rphs: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.ServiceRphs" + ] = field( + default=None, + metadata={ + "name": "ServiceRPHs", + "type": "Element", + }, + ) + room_stay_group_id: Optional[str] = field( + default=None, + metadata={ + "name": "RoomStayGroupID", + "type": "Attribute", + "min_length": 1, + "max_length": 32, + }, + ) + + class RoomTypes(BaseModel): + model_config = ConfigDict(defer_build=True) + room_type: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomTypes.RoomType" = field( + metadata={ + "name": "RoomType", + "type": "Element", + "required": True, + } + ) + + class RoomType(BaseModel): + model_config = ConfigDict(defer_build=True) + room_type_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomTypeCode", + "type": "Attribute", + "min_length": 1, + "max_length": 8, + }, + ) + room_classification_code: Optional[str] = field( + default=None, + metadata={ + "name": "RoomClassificationCode", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + room_type: Optional[RoomTypeRoomType] = field( + default=None, + metadata={ + "name": "RoomType", + "type": "Attribute", + }, + ) + + class RatePlans(BaseModel): + model_config = ConfigDict(defer_build=True) + rate_plan: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan" = field( + metadata={ + "name": "RatePlan", + "type": "Element", + "required": True, + } + ) + + class RatePlan(BaseModel): + model_config = ConfigDict(defer_build=True) + commission: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan.Commission" + ] = field( + default=None, + metadata={ + "name": "Commission", + "type": "Element", + }, + ) + meals_included: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan.MealsIncluded" + ] = field( + default=None, + metadata={ + "name": "MealsIncluded", + "type": "Element", + }, + ) + rate_plan_code: Optional[str] = field( + default=None, + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class Commission(BaseModel): + model_config = ConfigDict(defer_build=True) + commission_payable_amount: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RatePlans.RatePlan.Commission.CommissionPayableAmount" + ] = field( + default=None, + metadata={ + "name": "CommissionPayableAmount", + "type": "Element", + }, + ) + percent: Optional[str] = field( + default=None, + metadata={ + "name": "Percent", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class CommissionPayableAmount(BaseModel): + model_config = ConfigDict(defer_build=True) + amount: Optional[str] = field( + default=None, + metadata={ + "name": "Amount", + "type": "Attribute", + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + + class MealsIncluded(BaseModel): + model_config = ConfigDict(defer_build=True) + meal_plan_indicator: MealsIncludedMealPlanIndicator = field( + metadata={ + "name": "MealPlanIndicator", + "type": "Attribute", + "required": True, + } + ) + meal_plan_codes: MealsIncludedMealPlanCodes = ( + field( + metadata={ + "name": "MealPlanCodes", + "type": "Attribute", + "required": True, + } + ) + ) + + class RoomRates(BaseModel): + model_config = ConfigDict(defer_build=True) + room_rate: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate" = field( + metadata={ + "name": "RoomRate", + "type": "Element", + "required": True, + } + ) + + class RoomRate(BaseModel): + model_config = ConfigDict(defer_build=True) + rates: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate.Rates" = field( + metadata={ + "name": "Rates", + "type": "Element", + "required": True, + } + ) + rate_plan_code: str = field( + metadata={ + "name": "RatePlanCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + room_type_code: str = field( + metadata={ + "name": "RoomTypeCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 8, + } + ) + + class Rates(BaseModel): + model_config = ConfigDict(defer_build=True) + rate: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate.Rates.Rate" + ] = field( + default_factory=list, + metadata={ + "name": "Rate", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Rate(BaseModel): + model_config = ConfigDict(defer_build=True) + base: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.RoomRates.RoomRate.Rates.Rate.Base" + ] = field( + default_factory=list, + metadata={ + "name": "Base", + "type": "Element", + "min_occurs": 1, + }, + ) + effective_date: str = field( + metadata={ + "name": "EffectiveDate", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + expire_date: Optional[str] = field( + default=None, + metadata={ + "name": "ExpireDate", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + expire_date_exclusive_ind: Optional[ + str + ] = field( + default=None, + metadata={ + "name": "ExpireDateExclusiveInd", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + rate_time_unit: Optional[ + RateRateTimeUnit + ] = field( + default=None, + metadata={ + "name": "RateTimeUnit", + "type": "Attribute", + }, + ) + unit_multiplier: Optional[str] = field( + default=None, + metadata={ + "name": "UnitMultiplier", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class Base(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + amount_after_tax: Optional[str] = ( + field( + default=None, + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, + ) + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + + class GuestCounts(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_count: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.GuestCounts.GuestCount" + ] = field( + default_factory=list, + metadata={ + "name": "GuestCount", + "type": "Element", + "min_occurs": 1, + }, + ) + + class GuestCount(BaseModel): + model_config = ConfigDict(defer_build=True) + count: str = field( + metadata={ + "name": "Count", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + age: Optional[str] = field( + default=None, + metadata={ + "name": "Age", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + + class TimeSpan(BaseModel): + model_config = ConfigDict(defer_build=True) + start_date_window: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.TimeSpan.StartDateWindow" + ] = field( + default=None, + metadata={ + "name": "StartDateWindow", + "type": "Element", + }, + ) + start: Optional[str] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + duration: Optional[str] = field( + default=None, + metadata={ + "name": "Duration", + "type": "Attribute", + "pattern": r"P[0-9]+N", + }, + ) + + class StartDateWindow(BaseModel): + model_config = ConfigDict(defer_build=True) + earliest_date: str = field( + metadata={ + "name": "EarliestDate", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + latest_date: str = field( + metadata={ + "name": "LatestDate", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + + class Guarantee(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantees_accepted: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted" = field( + metadata={ + "name": "GuaranteesAccepted", + "type": "Element", + "required": True, + } + ) + + class GuaranteesAccepted(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantee_accepted: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted.GuaranteeAccepted" = field( + metadata={ + "name": "GuaranteeAccepted", + "type": "Element", + "required": True, + } + ) + + class GuaranteeAccepted(BaseModel): + model_config = ConfigDict(defer_build=True) + payment_card: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted.GuaranteeAccepted.PaymentCard" = field( + metadata={ + "name": "PaymentCard", + "type": "Element", + "required": True, + } + ) + + class PaymentCard(BaseModel): + model_config = ConfigDict(defer_build=True) + card_holder_name: str = field( + metadata={ + "name": "CardHolderName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + card_number: "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.Guarantee.GuaranteesAccepted.GuaranteeAccepted.PaymentCard.CardNumber" = field( + metadata={ + "name": "CardNumber", + "type": "Element", + "required": True, + } + ) + card_code: str = field( + metadata={ + "name": "CardCode", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]?", + } + ) + expire_date: str = field( + metadata={ + "name": "ExpireDate", + "type": "Attribute", + "required": True, + "pattern": r"[0-9][0-9][0-9][0-9]", + } + ) + + class CardNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: Optional[str] = field( + default=None, + metadata={ + "name": "PlainText", + "type": "Element", + "min_length": 1, + }, + ) + encrypted_value: Optional[str] = field( + default=None, + metadata={ + "name": "EncryptedValue", + "type": "Attribute", + "min_length": 1, + }, + ) + encryption_method: Optional[str] = ( + field( + default=None, + metadata={ + "name": "EncryptionMethod", + "type": "Attribute", + "min_length": 1, + }, + ) + ) + + class Total(BaseModel): + model_config = ConfigDict(defer_build=True) + amount_after_tax: str = field( + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + currency_code: str = field( + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "required": True, + "min_length": 3, + "max_length": 3, + } + ) + + class ServiceRphs(BaseModel): + model_config = ConfigDict(defer_build=True) + service_rph: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.ServiceRphs.ServiceRph" + ] = field( + default_factory=list, + metadata={ + "name": "ServiceRPH", + "type": "Element", + "min_occurs": 1, + }, + ) + + class ServiceRph(BaseModel): + model_config = ConfigDict(defer_build=True) + rph: str = field( + metadata={ + "name": "RPH", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]{1,8}", + } + ) + + class Services(BaseModel): + model_config = ConfigDict(defer_build=True) + service: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service" + ] = field( + default_factory=list, + metadata={ + "name": "Service", + "type": "Element", + "min_occurs": 1, + }, + ) + + class Service(BaseModel): + model_config = ConfigDict(defer_build=True) + service_details: "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails" = field( + metadata={ + "name": "ServiceDetails", + "type": "Element", + "required": True, + } + ) + id: str = field( + metadata={ + "name": "ID", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 32, + } + ) + type_value: ServiceType = field( + metadata={ + "name": "Type", + "type": "Attribute", + "required": True, + } + ) + service_category_code: ServiceServiceCategoryCode = field( + metadata={ + "name": "ServiceCategoryCode", + "type": "Attribute", + "required": True, + } + ) + service_inventory_code: str = field( + metadata={ + "name": "ServiceInventoryCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + service_rph: Optional[str] = field( + default=None, + metadata={ + "name": "ServiceRPH", + "type": "Attribute", + "pattern": r"[0-9]{1,8}", + }, + ) + service_pricing_type: ServiceServicePricingType = field( + metadata={ + "name": "ServicePricingType", + "type": "Attribute", + "required": True, + } + ) + inclusive: bool = field( + metadata={ + "name": "Inclusive", + "type": "Attribute", + "required": True, + } + ) + quantity: str = field( + metadata={ + "name": "Quantity", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class ServiceDetails(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_counts: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.GuestCounts" + ] = field( + default=None, + metadata={ + "name": "GuestCounts", + "type": "Element", + }, + ) + time_span: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.TimeSpan" + ] = field( + default=None, + metadata={ + "name": "TimeSpan", + "type": "Element", + }, + ) + comments: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.Comments" + ] = field( + default=None, + metadata={ + "name": "Comments", + "type": "Element", + }, + ) + total: "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.Total" = field( + metadata={ + "name": "Total", + "type": "Element", + "required": True, + } + ) + service_description: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.ServiceDescription" + ] = field( + default=None, + metadata={ + "name": "ServiceDescription", + "type": "Element", + }, + ) + + class GuestCounts(BaseModel): + model_config = ConfigDict(defer_build=True) + guest_count: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.GuestCounts.GuestCount" + ] = field( + default_factory=list, + metadata={ + "name": "GuestCount", + "type": "Element", + "min_occurs": 1, + "max_occurs": 99, + }, + ) + + class GuestCount(BaseModel): + model_config = ConfigDict(defer_build=True) + age: Optional[str] = field( + default=None, + metadata={ + "name": "Age", + "type": "Attribute", + "pattern": r"[0-9]+", + }, + ) + count: str = field( + metadata={ + "name": "Count", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + + class TimeSpan(BaseModel): + model_config = ConfigDict(defer_build=True) + start: str = field( + metadata={ + "name": "Start", + "type": "Attribute", + "required": True, + "pattern": r"\S+", + } + ) + end: Optional[str] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + + class Comments(BaseModel): + model_config = ConfigDict(defer_build=True) + comment: "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.Comments.Comment" = field( + metadata={ + "name": "Comment", + "type": "Element", + "required": True, + } + ) + + class Comment(BaseModel): + model_config = ConfigDict(defer_build=True) + text: "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.Comments.Comment.Text" = field( + metadata={ + "name": "Text", + "type": "Element", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + + class Total(BaseModel): + model_config = ConfigDict(defer_build=True) + amount_after_tax: str = field( + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "required": True, + "min_inclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + currency_code: str = field( + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "required": True, + "min_length": 3, + "max_length": 3, + } + ) + + class ServiceDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: "OtaResRetrieveRs.ReservationsList.HotelReservation.Services.Service.ServiceDetails.ServiceDescription.Text" = field( + metadata={ + "name": "Text", + "type": "Element", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + text_format: TextTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + + class ResGuests(BaseModel): + model_config = ConfigDict(defer_build=True) + res_guest: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest" = field( + metadata={ + "name": "ResGuest", + "type": "Element", + "required": True, + } + ) + + class ResGuest(BaseModel): + model_config = ConfigDict(defer_build=True) + profiles: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles" = field( + metadata={ + "name": "Profiles", + "type": "Element", + "required": True, + } + ) + + class Profiles(BaseModel): + model_config = ConfigDict(defer_build=True) + profile_info: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo" = field( + metadata={ + "name": "ProfileInfo", + "type": "Element", + "required": True, + } + ) + + class ProfileInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + profile: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile" = field( + metadata={ + "name": "Profile", + "type": "Element", + "required": True, + } + ) + + class Profile(BaseModel): + model_config = ConfigDict(defer_build=True) + customer: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer" = field( + metadata={ + "name": "Customer", + "type": "Element", + "required": True, + } + ) + + class Customer(BaseModel): + model_config = ConfigDict(defer_build=True) + person_name: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.PersonName" = field( + metadata={ + "name": "PersonName", + "type": "Element", + "required": True, + } + ) + telephone: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Telephone" + ] = field( + default_factory=list, + metadata={ + "name": "Telephone", + "type": "Element", + }, + ) + email: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Email" + ] = field( + default=None, + metadata={ + "name": "Email", + "type": "Element", + }, + ) + address: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Address" + ] = field( + default=None, + metadata={ + "name": "Address", + "type": "Element", + }, + ) + gender: Optional[str] = field( + default=None, + metadata={ + "name": "Gender", + "type": "Attribute", + "pattern": r"(Unknown|Male|Female)", + }, + ) + birth_date: Optional[str] = field( + default=None, + metadata={ + "name": "BirthDate", + "type": "Attribute", + "pattern": r"\S+", + }, + ) + language: Optional[str] = field( + default=None, + metadata={ + "name": "Language", + "type": "Attribute", + "pattern": r"[a-z][a-z]", + }, + ) + + class PersonName(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + name_prefix: Optional[str] = field( + default=None, + metadata={ + "name": "NamePrefix", + "type": "Element", + "min_length": 1, + "max_length": 16, + }, + ) + given_name: str = field( + metadata={ + "name": "GivenName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + surname: str = field( + metadata={ + "name": "Surname", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + name_title: Optional[str] = field( + default=None, + metadata={ + "name": "NameTitle", + "type": "Element", + "min_length": 1, + "max_length": 16, + }, + ) + + class Telephone(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + phone_tech_type: Optional[str] = field( + default=None, + metadata={ + "name": "PhoneTechType", + "type": "Attribute", + "pattern": r"(1|3|5)", + }, + ) + phone_number: str = field( + metadata={ + "name": "PhoneNumber", + "type": "Attribute", + "required": True, + "pattern": r"\+?[0-9]+", + } + ) + + class Email(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + value: str = field( + default="", + metadata={ + "required": True, + "pattern": r"\S+@\S+", + }, + ) + remark: Optional[str] = field( + default=None, + metadata={ + "name": "Remark", + "type": "Attribute", + "pattern": r"newsletter:(no|yes)", + }, + ) + + class Address(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + address_line: Optional[str] = field( + default=None, + metadata={ + "name": "AddressLine", + "type": "Element", + "min_length": 1, + "max_length": 255, + }, + ) + city_name: Optional[str] = field( + default=None, + metadata={ + "name": "CityName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + postal_code: Optional[str] = field( + default=None, + metadata={ + "name": "PostalCode", + "type": "Element", + "min_length": 1, + "max_length": 16, + }, + ) + country_name: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.Address.CountryName" + ] = field( + default=None, + metadata={ + "name": "CountryName", + "type": "Element", + }, + ) + remark: Optional[str] = field( + default=None, + metadata={ + "name": "Remark", + "type": "Attribute", + "pattern": r"catalog:(no|yes)", + }, + ) + + class CountryName(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]", + } + ) + + class ResGlobalInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + comments: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Comments" + ] = field( + default=None, + metadata={ + "name": "Comments", + "type": "Element", + }, + ) + special_requests: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.SpecialRequests" + ] = field( + default=None, + metadata={ + "name": "SpecialRequests", + "type": "Element", + }, + ) + deposit_payments: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments" + ] = field( + default=None, + metadata={ + "name": "DepositPayments", + "type": "Element", + }, + ) + cancel_penalties: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.CancelPenalties" + ] = field( + default=None, + metadata={ + "name": "CancelPenalties", + "type": "Element", + }, + ) + hotel_reservation_ids: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds" + ] = field( + default=None, + metadata={ + "name": "HotelReservationIDs", + "type": "Element", + }, + ) + profiles: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles" + ] = field( + default=None, + metadata={ + "name": "Profiles", + "type": "Element", + }, + ) + basic_property_info: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.BasicPropertyInfo" = field( + metadata={ + "name": "BasicPropertyInfo", + "type": "Element", + "required": True, + } + ) + + class Comments(BaseModel): + model_config = ConfigDict(defer_build=True) + comment: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Comments.Comment" + ] = field( + default_factory=list, + metadata={ + "name": "Comment", + "type": "Element", + "min_occurs": 1, + "max_occurs": 3, + }, + ) + + class Comment(BaseModel): + model_config = ConfigDict(defer_build=True) + list_item: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Comments.Comment.ListItem" + ] = field( + default_factory=list, + metadata={ + "name": "ListItem", + "type": "Element", + }, + ) + text: Optional[str] = field( + default=None, + metadata={ + "name": "Text", + "type": "Element", + "min_length": 1, + }, + ) + name: CommentName2 = field( + metadata={ + "name": "Name", + "type": "Attribute", + "required": True, + } + ) + + class ListItem(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + list_item: str = field( + metadata={ + "name": "ListItem", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + language: str = field( + metadata={ + "name": "Language", + "type": "Attribute", + "required": True, + "pattern": r"[a-z][a-z]", + } + ) + + class SpecialRequests(BaseModel): + model_config = ConfigDict(defer_build=True) + special_request: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.SpecialRequests.SpecialRequest" + ] = field( + default_factory=list, + metadata={ + "name": "SpecialRequest", + "type": "Element", + "min_occurs": 1, + }, + ) + + class SpecialRequest(BaseModel): + model_config = ConfigDict(defer_build=True) + text: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.SpecialRequests.SpecialRequest.Text" + ] = field( + default=None, + metadata={ + "name": "Text", + "type": "Element", + }, + ) + request_code: str = field( + metadata={ + "name": "RequestCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + code_context: SpecialRequestCodeContext = field( + metadata={ + "name": "CodeContext", + "type": "Attribute", + "required": True, + } + ) + + class Text(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + }, + ) + text_format: TextTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } + ) + + class DepositPayments(BaseModel): + model_config = ConfigDict(defer_build=True) + guarantee_payment: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment" + ] = field( + default_factory=list, + metadata={ + "name": "GuaranteePayment", + "type": "Element", + "min_occurs": 1, + }, + ) + + class GuaranteePayment(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payments: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments" = field( + metadata={ + "name": "AcceptedPayments", + "type": "Element", + "required": True, + } + ) + amount_percent: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AmountPercent" + ] = field( + default=None, + metadata={ + "name": "AmountPercent", + "type": "Element", + }, + ) + start: Optional[object] = field( + default=None, + metadata={ + "name": "Start", + "type": "Attribute", + }, + ) + guarantee_code: Optional[object] = field( + default=None, + metadata={ + "name": "GuaranteeCode", + "type": "Attribute", + }, + ) + + class AcceptedPayments(BaseModel): + model_config = ConfigDict(defer_build=True) + accepted_payment: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment" = field( + metadata={ + "name": "AcceptedPayment", + "type": "Element", + "required": True, + } + ) + + class AcceptedPayment(BaseModel): + model_config = ConfigDict(defer_build=True) + payment_card: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.PaymentCard" + ] = field( + default=None, + metadata={ + "name": "PaymentCard", + "type": "Element", + }, + ) + bank_acct: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct" + ] = field( + default=None, + metadata={ + "name": "BankAcct", + "type": "Element", + }, + ) + voucher: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.Voucher" + ] = field( + default=None, + metadata={ + "name": "Voucher", + "type": "Element", + }, + ) + guarantee_type_code: Optional[object] = field( + default=None, + metadata={ + "name": "GuaranteeTypeCode", + "type": "Attribute", + }, + ) + guarantee_id: Optional[object] = field( + default=None, + metadata={ + "name": "GuaranteeID", + "type": "Attribute", + }, + ) + payment_transaction_type_code: Optional[ + object + ] = field( + default=None, + metadata={ + "name": "PaymentTransactionTypeCode", + "type": "Attribute", + }, + ) + + class PaymentCard(BaseModel): + model_config = ConfigDict(defer_build=True) + card_holder_name: Optional[str] = field( + default=None, + metadata={ + "name": "CardHolderName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + card_number: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.PaymentCard.CardNumber" + ] = field( + default=None, + metadata={ + "name": "CardNumber", + "type": "Element", + }, + ) + card_code: Optional[str] = field( + default=None, + metadata={ + "name": "CardCode", + "type": "Attribute", + "pattern": r"[A-Z]{1,2}", + }, + ) + expire_date: Optional[str] = field( + default=None, + metadata={ + "name": "ExpireDate", + "type": "Attribute", + "pattern": r"(0[1-9]|1[0-2])[0-9][0-9]", + }, + ) + + class CardNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + mask: Optional[str] = field( + default=None, + metadata={ + "name": "Mask", + "type": "Attribute", + "pattern": r"[0-9a-zA-Z]{1,32}", + }, + ) + token: Optional[str] = field( + default=None, + metadata={ + "name": "Token", + "type": "Attribute", + "pattern": r"[0-9a-zA-Z]{1,32}", + }, + ) + token_provider_id: Optional[str] = ( + field( + default=None, + metadata={ + "name": "TokenProviderID", + "type": "Attribute", + "min_length": 1, + }, + ) + ) + + class BankAcct(BaseModel): + model_config = ConfigDict(defer_build=True) + bank_acct_name: Optional[str] = field( + default=None, + metadata={ + "name": "BankAcctName", + "type": "Element", + "min_length": 1, + "max_length": 64, + }, + ) + bank_acct_number: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.DepositPayments.GuaranteePayment.AcceptedPayments.AcceptedPayment.BankAcct.BankAcctNumber" = field( + metadata={ + "name": "BankAcctNumber", + "type": "Element", + "required": True, + } + ) + + class BankAcctNumber(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + plain_text: str = field( + metadata={ + "name": "PlainText", + "type": "Element", + "required": True, + "pattern": r"[0-9]{1,19}", + } + ) + mask: Optional[str] = field( + default=None, + metadata={ + "name": "Mask", + "type": "Attribute", + "pattern": r"[0-9a-zA-Z]{1,32}", + }, + ) + + class Voucher(BaseModel): + model_config = ConfigDict(defer_build=True) + electronic_indicator: str = field( + metadata={ + "name": "ElectronicIndicator", + "type": "Attribute", + "required": True, + "pattern": r"1|true", + } + ) + identifier: str = field( + metadata={ + "name": "Identifier", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + + class AmountPercent(BaseModel): + model_config = ConfigDict(defer_build=True) + amount: str = field( + metadata={ + "name": "Amount", + "type": "Attribute", + "required": True, + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + } + ) + currency_code: Optional[str] = field( + default=None, + metadata={ + "name": "CurrencyCode", + "type": "Attribute", + "min_length": 3, + "max_length": 3, + }, + ) + + class CancelPenalties(BaseModel): + model_config = ConfigDict(defer_build=True) + cancel_penalty: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.CancelPenalties.CancelPenalty" = field( + metadata={ + "name": "CancelPenalty", + "type": "Element", + "required": True, + } + ) + + class CancelPenalty(BaseModel): + model_config = ConfigDict(defer_build=True) + penalty_description: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.CancelPenalties.CancelPenalty.PenaltyDescription" = field( + metadata={ + "name": "PenaltyDescription", + "type": "Element", + "required": True, + } + ) + + class PenaltyDescription(BaseModel): + model_config = ConfigDict(defer_build=True) + text: str = field( + metadata={ + "name": "Text", + "type": "Element", + "required": True, + "min_length": 1, + } + ) + + class HotelReservationIds(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_reservation_id: list[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId" + ] = field( + default_factory=list, + metadata={ + "name": "HotelReservationID", + "type": "Element", + "min_occurs": 1, + }, + ) + + class HotelReservationId(BaseModel): + model_config = ConfigDict(defer_build=True) + res_id_type: str = field( + metadata={ + "name": "ResID_Type", + "type": "Attribute", + "required": True, + "pattern": r"[0-9]+", + } + ) + res_id_value: Optional[str] = field( + default=None, + metadata={ + "name": "ResID_Value", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + res_id_source: Optional[str] = field( + default=None, + metadata={ + "name": "ResID_Source", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + res_id_source_context: Optional[str] = field( + default=None, + metadata={ + "name": "ResID_SourceContext", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, + ) + + class Profiles(BaseModel): + model_config = ConfigDict(defer_build=True) + profile_info: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo" = field( + metadata={ + "name": "ProfileInfo", + "type": "Element", + "required": True, + } + ) + + class ProfileInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + profile: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile" = field( + metadata={ + "name": "Profile", + "type": "Element", + "required": True, + } + ) + + class Profile(BaseModel): + model_config = ConfigDict(defer_build=True) + company_info: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo" = field( + metadata={ + "name": "CompanyInfo", + "type": "Element", + "required": True, + } + ) + profile_type: ProfileProfileType = field( + metadata={ + "name": "ProfileType", + "type": "Attribute", + "required": True, + } + ) + + class CompanyInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + company_name: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.CompanyName" = field( + metadata={ + "name": "CompanyName", + "type": "Element", + "required": True, + } + ) + address_info: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.AddressInfo" + ] = field( + default=None, + metadata={ + "name": "AddressInfo", + "type": "Element", + }, + ) + telephone_info: Optional[ + "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.TelephoneInfo" + ] = field( + default=None, + metadata={ + "name": "TelephoneInfo", + "type": "Element", + }, + ) + email: Optional[str] = field( + default=None, + metadata={ + "name": "Email", + "type": "Element", + "min_length": 1, + }, + ) + + class CompanyName(BaseModel): + model_config = ConfigDict(defer_build=True) + value: str = field( + default="", + metadata={ + "required": True, + "min_length": 1, + }, + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + code_context: str = field( + metadata={ + "name": "CodeContext", + "type": "Attribute", + "required": True, + "min_length": 1, + } + ) + + class AddressInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + address_line: str = field( + metadata={ + "name": "AddressLine", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 255, + } + ) + city_name: str = field( + metadata={ + "name": "CityName", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 64, + } + ) + postal_code: str = field( + metadata={ + "name": "PostalCode", + "type": "Element", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + country_name: "OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Profiles.ProfileInfo.Profile.CompanyInfo.AddressInfo.CountryName" = field( + metadata={ + "name": "CountryName", + "type": "Element", + "required": True, + } + ) + + class CountryName(BaseModel): + model_config = ConfigDict( + defer_build=True + ) + code: str = field( + metadata={ + "name": "Code", + "type": "Attribute", + "required": True, + "pattern": r"[A-Z][A-Z]", + } + ) + + class TelephoneInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + phone_tech_type: Optional[str] = field( + default=None, + metadata={ + "name": "PhoneTechType", + "type": "Attribute", + "pattern": r"(1|3|5)", + }, + ) + phone_number: str = field( + metadata={ + "name": "PhoneNumber", + "type": "Attribute", + "required": True, + "pattern": r"\+?[0-9]+", + } + ) + + class BasicPropertyInfo(BaseModel): + model_config = ConfigDict(defer_build=True) + hotel_code: str = field( + metadata={ + "name": "HotelCode", + "type": "Attribute", + "required": True, + "min_length": 1, + "max_length": 16, + } + ) + hotel_name: Optional[str] = field( + default=None, + metadata={ + "name": "HotelName", + "type": "Attribute", + "min_length": 1, + "max_length": 128, + }, + ) diff --git a/src/main.py b/src/main.py index a59435f..3470ecf 100644 --- a/src/main.py +++ b/src/main.py @@ -1,124 +1,167 @@ from alpinebits_guestrequests import ResGuest, RoomStay -from alpine_bits_classes import ( - OTA_ResRetrieveRS, - Success, - ReservationsListType, - HotelReservationType, - UniqueIDType, - RoomStaysType, - RoomStayType, - RoomTypesType, - RoomTypeType, - GuestCountsType, - GuestCountType, - TimeSpanType, - StartDateWindowType, - ResGuestsType, - ResGuestType, - ProfilesType, - ProfileInfoType, - ProfileType, - CustomerType, - PersonNameType, - AddressType, - CountryNameType, - ResGlobalInfoType, - HotelReservationIDsType, - HotelReservationIDType, - BasicPropertyInfoType, - CustomerNameType - -) +import generated.alpinebits as ab from io import BytesIO import sys from datetime import datetime, timezone +import re +from xsdata_pydantic.bindings import XmlSerializer + +def validate_gender(gender: str) -> str: + """Validate gender field against the pattern (Unknown|Male|Female)""" + if gender and not re.match(r"^(Unknown|Male|Female)$", gender): + raise ValueError(f"Invalid gender value: '{gender}'. Must be one of: Unknown, Male, Female") + return gender + +def validate_dataclass_patterns(obj) -> None: + """Custom validation function to check pattern constraints""" + # Add validation for known pattern fields + if hasattr(obj, 'gender') and obj.gender: + validate_gender(obj.gender) + + # Recursively validate nested objects + for field_name, field_value in vars(obj).items(): + if hasattr(field_value, '__dataclass_fields__'): + validate_dataclass_patterns(field_value) + elif isinstance(field_value, list): + for item in field_value: + if hasattr(item, '__dataclass_fields__'): + validate_dataclass_patterns(item) def main(): - # Success - success = Success() - - # RoomType - room_type = RoomTypeType(RoomTypeCode="A", RoomClassificationCode="5", RoomType="8") - room_types = RoomTypesType(RoomType=room_type) - - # GuestCounts - guest_count = GuestCountType(Count=1) - guest_counts = GuestCountsType(GuestCount=[guest_count]) - - # TimeSpan with StartDateWindow - start_date_window = StartDateWindowType(EarliestDate=datetime(2022, 10, 3, tzinfo=timezone.utc), LatestDate=datetime(2022, 10, 8, tzinfo=timezone.utc)) - time_span = TimeSpanType(StartDateWindow=start_date_window) - - # RoomStay - room_stay = RoomStayType( - RoomTypes=room_types, - GuestCounts=guest_counts, - TimeSpan=time_span - ) - room_stays = RoomStaysType(RoomStay=[room_stay]) - - # ResGuest - person_name = PersonNameType(GivenName=CustomerNameType("Otto"), Surname=CustomerNameType("Mustermann")) - country_name = CountryNameType(Code="DE") - address = AddressType(CountryName=country_name) - customer = CustomerType(Language="de", Gender="Test", PersonName=person_name, Address=address) + # Success - just use object() since it's defined as Optional[object] + success = object() + # Now we need to create the missing nested classes that aren't fully defined + # Let's create minimal implementations for the empty classes - profile = ProfileType(Customer=customer) - profile_info = ProfileInfoType(Profile=profile) - profiles = ProfilesType(ProfileInfo=profile_info) - res_guest = ResGuestType(Profiles=profiles) - res_guests = ResGuestsType(ResGuest=res_guest) + # Create basic implementations for the empty nested classes + class RoomType(ab.BaseModel): + room_type_code: str = "A" + room_classification_code: str = "5" + room_type: str = "8" + + class GuestCount(ab.BaseModel): + count: int = 1 + + class TimeSpanImpl(ab.BaseModel): + start: str + end: str + + class PersonName(ab.BaseModel): + given_name: str + surname: str + + class Customer(ab.BaseModel): + language: str = "de" + gender: str = "Male" # Use valid gender + person_name: PersonName + + class Profile(ab.BaseModel): + customer: Customer + + class ProfileInfo(ab.BaseModel): + profile: Profile + + class Profiles(ab.BaseModel): + profile_info: ProfileInfo + + class ResGuest(ab.BaseModel): + profiles: Profiles + + class HotelReservationId(ab.BaseModel): + res_id_type: str + res_id_source_context: str + res_id_value: str + res_id_source: str + + # Build the structure using the Pydantic models + person_name = PersonName(given_name="Otto", surname="Mustermann") + customer = Customer(person_name=person_name) + profile = Profile(customer=customer) + profile_info = ProfileInfo(profile=profile) + profiles = Profiles(profile_info=profile_info) + res_guest = ResGuest(profiles=profiles) # UniqueID - unique_id = UniqueIDType(Type="14", ID="6b34fe24ac2ff811") - - # ResGlobalInfo - hotel_res_id = HotelReservationIDType( - ResID_Type="13", - ResID_SourceContext="cnt", - ResID_Value="res", - ResID_Source="www.example.com" - ) - hotel_res_ids = HotelReservationIDsType(HotelReservationID=[hotel_res_id]) - basic_property_info = BasicPropertyInfoType(HotelCode="123", HotelName="Frangart Inn") - res_global_info = ResGlobalInfoType( - HotelReservationIDs=hotel_res_ids, - BasicPropertyInfo=basic_property_info + unique_id = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.UniqueId( + type_value=ab.UniqueIdType2.VALUE_14, + id="6b34fe24ac2ff811" ) - # HotelReservation - hotel_reservation = HotelReservationType( - CreateDateTime=datetime.now(timezone.utc).isoformat(), - ResStatus="Requested", - RoomStayReservation=True, - UniqueID=unique_id, - RoomStays=room_stays, - ResGuests=res_guests, - ResGlobalInfo=res_global_info + # Basic property info + basic_property_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.BasicPropertyInfo( + hotel_code="123", + hotel_name="Frangart Inn" ) - hotel_reservation.set_CreateDateTime(datetime.now(timezone.utc)) - reservations_list = ReservationsListType(HotelReservation=[hotel_reservation]) + # Build a minimal reservation structure + hotel_reservation = ab.OtaResRetrieveRs.ReservationsList.HotelReservation( + create_date_time=datetime.now(timezone.utc).isoformat(), + res_status=ab.HotelReservationResStatus.REQUESTED, + room_stay_reservation="true", + unique_id=unique_id + ) + + # Add the basic property info to res_global_info + res_global_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo( + basic_property_info=basic_property_info + ) + + # Update the hotel reservation with all required fields + hotel_reservation.res_global_info = res_global_info + + reservations_list = ab.OtaResRetrieveRs.ReservationsList(hotel_reservation=[hotel_reservation]) # Root element - ota_res_retrieve_rs = OTA_ResRetrieveRS( - Version="7.000", - Success=success, - ReservationsList=reservations_list + ota_res_retrieve_rs = ab.OtaResRetrieveRs( + version="7.000", + success=success, + reservations_list=reservations_list ) - print(ota_res_retrieve_rs.get_Warnings()) + # Serialize using Pydantic's model_dump and convert to XML + try: + # First validate the model + ota_res_retrieve_rs.model_validate(ota_res_retrieve_rs.model_dump()) + print("โœ… Pydantic validation successful!") + + # For XML serialization with Pydantic models, we need to use xsdata-pydantic serializer + from xsdata.formats.dataclass.serializers.config import SerializerConfig + + config = SerializerConfig( + pretty_print=True, + xml_declaration=True, + encoding="UTF-8" + ) + + serializer = XmlSerializer(config=config) + xml_string = serializer.render(ota_res_retrieve_rs) + + with open('output.xml', 'w', encoding='utf-8') as outfile: + outfile.write(xml_string) + + print("โœ… XML serialization successful!") + print(f"Generated XML written to output.xml") + + # Also print the pretty formatted XML to console + print("\n๐Ÿ“„ Generated XML:") + print(xml_string) + + # Test parsing back + from xsdata_pydantic.bindings import XmlParser + parser = XmlParser() + + with open('output.xml', 'r', encoding='utf-8') as infile: + xml_content = infile.read() + + parsed_result = parser.from_string(xml_content, ab.OtaResRetrieveRs) + print("โœ… Round-trip validation successful!") + print(f"Parsed reservation status: {parsed_result.res_status}") + + except Exception as e: + print(f"โŒ Validation/Serialization failed: {e}") - # Serialize to XML string - # create outfile - - with open('output.xml', 'w', encoding='utf-8') as outfile: - ota_res_retrieve_rs.export(outfile, 0) - - - if __name__ == "__main__": main() \ No newline at end of file diff --git a/src/output.xml b/src/output.xml index 39e920b..a8c0571 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,47 +1,12 @@ - - <Success/> - - - - - - - - - - - - - - - - - - - - - - - - - Otto - Mustermann - -
- -
-
-
-
-
-
-
- - - - - - -
-
-
+ + + <object object at 0x7fd2fa5a0f40> + + + + + + + + + diff --git a/src/postprocessing.py b/src/postprocessing.py deleted file mode 100644 index e1f17d9..0000000 --- a/src/postprocessing.py +++ /dev/null @@ -1,148 +0,0 @@ -""" -Script to verify if all classes in alpine_bits_classes.py with the same base name (e.g., CustomerType, CustomerType125, CustomerType576) -are structurally identical. This helps to identify duplicate dataclasses generated by generateDS. - -Usage: - python src/postprocessing.py - -Requirements: - - Only uses the standard library. -""" - -import ast -import re -from collections import defaultdict -from pathlib import Path - -def get_class_basenames(classname): - """Returns the base name of a class (e.g., CustomerType125 -> CustomerType)""" - return re.sub(r'\d+$', '', classname) - -def extract_classes(filepath): - """Parse the file and extract all class definitions as AST nodes.""" - with open(filepath, "r", encoding="utf-8") as f: - source = f.read() - tree = ast.parse(source) - classes = {} - for node in tree.body: - if isinstance(node, ast.ClassDef): - classes[node.name] = node - return classes - -def class_struct_signature(class_node): - """Return a tuple representing the structure of the class: base classes, method names, attribute names.""" - bases = tuple(base.id if isinstance(base, ast.Name) else ast.dump(base) for base in class_node.bases) - methods = [] - attrs = [] - for item in class_node.body: - if isinstance(item, ast.FunctionDef): - methods.append(item.name) - elif isinstance(item, ast.Assign): - for target in item.targets: - if isinstance(target, ast.Name): - attrs.append(target.id) - return (bases, tuple(sorted(methods)), tuple(sorted(attrs))) - - -def remove_identical_class_suffixes(filepath: Path): - """ - Removes duplicate class definitions with numeric suffixes if they are structurally identical, - keeping only the base (unsuffixed) class. - """ - import shutil - - # Parse classes and group by base name - classes = extract_classes(filepath) - grouped = defaultdict(list) - for cname in classes: - base = get_class_basenames(cname) - grouped[base].append(cname) - - # Find identical groups - identical = [] - for base, classnames in grouped.items(): - if len(classnames) > 1: - sigs = [class_struct_signature(classes[c]) for c in classnames] - if all(s == sigs[0] for s in sigs): - identical.append((base, classnames)) - - # Read original file lines - with open(filepath, "r", encoding="utf-8") as f: - lines = f.readlines() - - # Find line numbers for all class definitions - class_lines = {} - for i, line in enumerate(lines): - m = re.match(r'class (\w+)\b', line) - if m: - class_lines[m.group(1)] = i - - # Mark classes to remove (all but the base, unsuffixed one) - to_remove = set() - for base, classnames in identical: - for cname in classnames: - if cname != base: - to_remove.add(cname) - - # Remove class definitions with suffixes - new_lines = [] - skip = False - for i, line in enumerate(lines): - m = re.match(r'class (\w+)\b', line) - if m and m.group(1) in to_remove: - skip = True - if not skip: - new_lines.append(line) - # End skipping at the next class or end of file - if skip and (i + 1 == len(lines) or re.match(r'class \w+\b', lines[i + 1])): - skip = False - - # Backup original file - - - backup_path = filepath.with_suffix(filepath.suffix + ".bak") - - shutil.copy(filepath, backup_path) - - # Write cleaned file - with open(filepath, "w", encoding="utf-8") as f: - f.writelines(new_lines) - - print(f"Removed {len(to_remove)} duplicate class definitions. Backup saved as {filepath}.bak") - -# Example usage: -# remove_identical_class_suffixes("src/alpine_bits_classes.py") - - - -def main(): - file_path = Path(__file__).parent / "alpine_bits_classes.py" - classes = extract_classes(file_path) - grouped = defaultdict(list) - for cname in classes: - base = get_class_basenames(cname) - grouped[base].append(cname) - - identical = [] - different = [] - - for base, classnames in grouped.items(): - if len(classnames) > 1: - sigs = [class_struct_signature(classes[c]) for c in classnames] - if all(s == sigs[0] for s in sigs): - identical.append((base, classnames)) - else: - different.append((base, classnames)) - - print("=== Structurally Identical Groups ===") - for base, classnames in identical: - print(f"{base}: {', '.join(classnames)}") - - print("\n=== Structurally Different Groups ===") - for base, classnames in different: - print(f"{base}: {', '.join(classnames)}") - - remove_identical_class_suffixes(file_path) - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/src/subclasses.py b/src/subclasses.py deleted file mode 100644 index 6f84729..0000000 --- a/src/subclasses.py +++ /dev/null @@ -1,5467 +0,0 @@ -#!/usr/bin/env python - -# -# Generated Tue Sep 23 08:57:49 2025 by generateDS.py version 2.44.3. -# Python 3.13.3 (main, Apr 9 2025, 04:03:52) [Clang 20.1.0 ] -# -# Command line options: -# ('-o', 'alpine_bits_classes.py') -# ('-s', 'subclasses.py') -# -# Command line arguments: -# ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd -# -# Command line: -# ../.venv/bin/generateDS.py -o "alpine_bits_classes.py" -s "subclasses.py" ../AlpineBits-HotelData-2024-10/files/schema-xsd/alpinebits.xsd -# -# Current working directory (os.getcwd()): -# src -# - -import os -import sys -from lxml import etree as etree_ - -import ??? as supermod - -def parsexml_(infile, parser=None, **kwargs): - if parser is None: - # Use the lxml ElementTree compatible parser so that, e.g., - # we ignore comments. - parser = etree_.ETCompatXMLParser() - try: - if isinstance(infile, os.PathLike): - infile = os.path.join(infile) - except AttributeError: - pass - doc = etree_.parse(infile, parser=parser, **kwargs) - return doc - -def parsexmlstring_(instring, parser=None, **kwargs): - if parser is None: - # Use the lxml ElementTree compatible parser so that, e.g., - # we ignore comments. - try: - parser = etree_.ETCompatXMLParser() - except AttributeError: - # fallback to xml.etree - parser = etree_.XMLParser() - element = etree_.fromstring(instring, parser=parser, **kwargs) - return element - -# -# Globals -# - -ExternalEncoding = '' -SaveElementTreeNode = True - -# -# Data representation classes -# - - -class OTA_PingRQSub(supermod.OTA_PingRQ): - def __init__(self, Version=None, TimeStamp=None, EchoData=None, **kwargs_): - super(OTA_PingRQSub, self).__init__(Version, TimeStamp, EchoData, **kwargs_) -supermod.OTA_PingRQ.subclass = OTA_PingRQSub -# end class OTA_PingRQSub - - -class OTA_PingRSSub(supermod.OTA_PingRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, EchoData=None, **kwargs_): - super(OTA_PingRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, EchoData, **kwargs_) -supermod.OTA_PingRS.subclass = OTA_PingRSSub -# end class OTA_PingRSSub - - -class OTA_HotelPostEventNotifRQSub(supermod.OTA_HotelPostEventNotifRQ): - def __init__(self, Version=None, EventReports=None, **kwargs_): - super(OTA_HotelPostEventNotifRQSub, self).__init__(Version, EventReports, **kwargs_) -supermod.OTA_HotelPostEventNotifRQ.subclass = OTA_HotelPostEventNotifRQSub -# end class OTA_HotelPostEventNotifRQSub - - -class OTA_HotelPostEventNotifRSSub(supermod.OTA_HotelPostEventNotifRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): - super(OTA_HotelPostEventNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) -supermod.OTA_HotelPostEventNotifRS.subclass = OTA_HotelPostEventNotifRSSub -# end class OTA_HotelPostEventNotifRSSub - - -class OTA_HotelInvCountNotifRQSub(supermod.OTA_HotelInvCountNotifRQ): - def __init__(self, Version=None, UniqueID=None, Inventories=None, **kwargs_): - super(OTA_HotelInvCountNotifRQSub, self).__init__(Version, UniqueID, Inventories, **kwargs_) -supermod.OTA_HotelInvCountNotifRQ.subclass = OTA_HotelInvCountNotifRQSub -# end class OTA_HotelInvCountNotifRQSub - - -class OTA_HotelInvCountNotifRSSub(supermod.OTA_HotelInvCountNotifRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): - super(OTA_HotelInvCountNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) -supermod.OTA_HotelInvCountNotifRS.subclass = OTA_HotelInvCountNotifRSSub -# end class OTA_HotelInvCountNotifRSSub - - -class OTA_HotelResNotifRQSub(supermod.OTA_HotelResNotifRQ): - def __init__(self, Version=None, TimeStamp=None, HotelReservations=None, **kwargs_): - super(OTA_HotelResNotifRQSub, self).__init__(Version, TimeStamp, HotelReservations, **kwargs_) -supermod.OTA_HotelResNotifRQ.subclass = OTA_HotelResNotifRQSub -# end class OTA_HotelResNotifRQSub - - -class OTA_HotelResNotifRSSub(supermod.OTA_HotelResNotifRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelReservations=None, **kwargs_): - super(OTA_HotelResNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, HotelReservations, **kwargs_) -supermod.OTA_HotelResNotifRS.subclass = OTA_HotelResNotifRSSub -# end class OTA_HotelResNotifRSSub - - -class OTA_ReadRQSub(supermod.OTA_ReadRQ): - def __init__(self, Version=None, TimeStamp=None, ReadRequests=None, **kwargs_): - super(OTA_ReadRQSub, self).__init__(Version, TimeStamp, ReadRequests, **kwargs_) -supermod.OTA_ReadRQ.subclass = OTA_ReadRQSub -# end class OTA_ReadRQSub - - -class OTA_ResRetrieveRSSub(supermod.OTA_ResRetrieveRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, ReservationsList=None, **kwargs_): - super(OTA_ResRetrieveRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, ReservationsList, **kwargs_) -supermod.OTA_ResRetrieveRS.subclass = OTA_ResRetrieveRSSub -# end class OTA_ResRetrieveRSSub - - -class OTA_NotifReportRQSub(supermod.OTA_NotifReportRQ): - def __init__(self, Version=None, TimeStamp=None, Success=None, Warnings=None, NotifDetails=None, **kwargs_): - super(OTA_NotifReportRQSub, self).__init__(Version, TimeStamp, Success, Warnings, NotifDetails, **kwargs_) -supermod.OTA_NotifReportRQ.subclass = OTA_NotifReportRQSub -# end class OTA_NotifReportRQSub - - -class OTA_NotifReportRSSub(supermod.OTA_NotifReportRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): - super(OTA_NotifReportRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) -supermod.OTA_NotifReportRS.subclass = OTA_NotifReportRSSub -# end class OTA_NotifReportRSSub - - -class OTA_HotelDescriptiveContentNotifRQSub(supermod.OTA_HotelDescriptiveContentNotifRQ): - def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveContents=None, **kwargs_): - super(OTA_HotelDescriptiveContentNotifRQSub, self).__init__(Version, TimeStamp, HotelDescriptiveContents, **kwargs_) -supermod.OTA_HotelDescriptiveContentNotifRQ.subclass = OTA_HotelDescriptiveContentNotifRQSub -# end class OTA_HotelDescriptiveContentNotifRQSub - - -class OTA_HotelDescriptiveContentNotifRSSub(supermod.OTA_HotelDescriptiveContentNotifRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): - super(OTA_HotelDescriptiveContentNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) -supermod.OTA_HotelDescriptiveContentNotifRS.subclass = OTA_HotelDescriptiveContentNotifRSSub -# end class OTA_HotelDescriptiveContentNotifRSSub - - -class OTA_HotelDescriptiveInfoRQSub(supermod.OTA_HotelDescriptiveInfoRQ): - def __init__(self, Version=None, TimeStamp=None, HotelDescriptiveInfos=None, **kwargs_): - super(OTA_HotelDescriptiveInfoRQSub, self).__init__(Version, TimeStamp, HotelDescriptiveInfos, **kwargs_) -supermod.OTA_HotelDescriptiveInfoRQ.subclass = OTA_HotelDescriptiveInfoRQSub -# end class OTA_HotelDescriptiveInfoRQSub - - -class OTA_HotelDescriptiveInfoRSSub(supermod.OTA_HotelDescriptiveInfoRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, HotelDescriptiveContents=None, **kwargs_): - super(OTA_HotelDescriptiveInfoRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, HotelDescriptiveContents, **kwargs_) -supermod.OTA_HotelDescriptiveInfoRS.subclass = OTA_HotelDescriptiveInfoRSSub -# end class OTA_HotelDescriptiveInfoRSSub - - -class OTA_HotelRatePlanNotifRQSub(supermod.OTA_HotelRatePlanNotifRQ): - def __init__(self, Version=None, TimeStamp=None, UniqueID=None, RatePlans=None, **kwargs_): - super(OTA_HotelRatePlanNotifRQSub, self).__init__(Version, TimeStamp, UniqueID, RatePlans, **kwargs_) -supermod.OTA_HotelRatePlanNotifRQ.subclass = OTA_HotelRatePlanNotifRQSub -# end class OTA_HotelRatePlanNotifRQSub - - -class OTA_HotelRatePlanNotifRSSub(supermod.OTA_HotelRatePlanNotifRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, **kwargs_): - super(OTA_HotelRatePlanNotifRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, **kwargs_) -supermod.OTA_HotelRatePlanNotifRS.subclass = OTA_HotelRatePlanNotifRSSub -# end class OTA_HotelRatePlanNotifRSSub - - -class OTA_HotelRatePlanRQSub(supermod.OTA_HotelRatePlanRQ): - def __init__(self, Version=None, TimeStamp=None, RatePlans=None, **kwargs_): - super(OTA_HotelRatePlanRQSub, self).__init__(Version, TimeStamp, RatePlans, **kwargs_) -supermod.OTA_HotelRatePlanRQ.subclass = OTA_HotelRatePlanRQSub -# end class OTA_HotelRatePlanRQSub - - -class OTA_HotelRatePlanRSSub(supermod.OTA_HotelRatePlanRS): - def __init__(self, Version=None, TimeStamp=None, Errors=None, Success=None, Warnings=None, RatePlans=None, **kwargs_): - super(OTA_HotelRatePlanRSSub, self).__init__(Version, TimeStamp, Errors, Success, Warnings, RatePlans, **kwargs_) -supermod.OTA_HotelRatePlanRS.subclass = OTA_HotelRatePlanRSSub -# end class OTA_HotelRatePlanRSSub - - -class ErrorsTypeSub(supermod.ErrorsType): - def __init__(self, Error=None, **kwargs_): - super(ErrorsTypeSub, self).__init__(Error, **kwargs_) -supermod.ErrorsType.subclass = ErrorsTypeSub -# end class ErrorsTypeSub - - -class ErrorTypeSub(supermod.ErrorType): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorTypeSub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType.subclass = ErrorTypeSub -# end class ErrorTypeSub - - -class WarningsTypeSub(supermod.WarningsType): - def __init__(self, Warning=None, **kwargs_): - super(WarningsTypeSub, self).__init__(Warning, **kwargs_) -supermod.WarningsType.subclass = WarningsTypeSub -# end class WarningsTypeSub - - -class WarningTypeSub(supermod.WarningType): - def __init__(self, Type=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningTypeSub, self).__init__(Type, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType.subclass = WarningTypeSub -# end class WarningTypeSub - - -class EventReportsTypeSub(supermod.EventReportsType): - def __init__(self, EventReport=None, **kwargs_): - super(EventReportsTypeSub, self).__init__(EventReport, **kwargs_) -supermod.EventReportsType.subclass = EventReportsTypeSub -# end class EventReportsTypeSub - - -class EventReportTypeSub(supermod.EventReportType): - def __init__(self, EventSites=None, GeneralEventInfo=None, **kwargs_): - super(EventReportTypeSub, self).__init__(EventSites, GeneralEventInfo, **kwargs_) -supermod.EventReportType.subclass = EventReportTypeSub -# end class EventReportTypeSub - - -class EventSitesTypeSub(supermod.EventSitesType): - def __init__(self, EventSite=None, **kwargs_): - super(EventSitesTypeSub, self).__init__(EventSite, **kwargs_) -supermod.EventSitesType.subclass = EventSitesTypeSub -# end class EventSitesTypeSub - - -class EventSiteTypeSub(supermod.EventSiteType): - def __init__(self, HotelCode=None, HotelName=None, Event_ID=None, **kwargs_): - super(EventSiteTypeSub, self).__init__(HotelCode, HotelName, Event_ID, **kwargs_) -supermod.EventSiteType.subclass = EventSiteTypeSub -# end class EventSiteTypeSub - - -class Event_IDTypeSub(supermod.Event_IDType): - def __init__(self, ID=None, ID_Context=None, Type=None, **kwargs_): - super(Event_IDTypeSub, self).__init__(ID, ID_Context, Type, **kwargs_) -supermod.Event_IDType.subclass = Event_IDTypeSub -# end class Event_IDTypeSub - - -class GeneralEventInfoTypeSub(supermod.GeneralEventInfoType): - def __init__(self, Type=None, URL=None, Acronym=None, EventContacts=None, AttendeeInfo=None, Dates=None, Comments=None, **kwargs_): - super(GeneralEventInfoTypeSub, self).__init__(Type, URL, Acronym, EventContacts, AttendeeInfo, Dates, Comments, **kwargs_) -supermod.GeneralEventInfoType.subclass = GeneralEventInfoTypeSub -# end class GeneralEventInfoTypeSub - - -class EventContactsTypeSub(supermod.EventContactsType): - def __init__(self, EventContact=None, **kwargs_): - super(EventContactsTypeSub, self).__init__(EventContact, **kwargs_) -supermod.EventContactsType.subclass = EventContactsTypeSub -# end class EventContactsTypeSub - - -class EventContactTypeSub(supermod.EventContactType): - def __init__(self, Role=None, PersonName=None, URL=None, EmployeeInfo=None, **kwargs_): - super(EventContactTypeSub, self).__init__(Role, PersonName, URL, EmployeeInfo, **kwargs_) -supermod.EventContactType.subclass = EventContactTypeSub -# end class EventContactTypeSub - - -class PersonNameTypeSub(supermod.PersonNameType): - def __init__(self, GivenName=None, Surname=None, **kwargs_): - super(PersonNameTypeSub, self).__init__(GivenName, Surname, **kwargs_) -supermod.PersonNameType.subclass = PersonNameTypeSub -# end class PersonNameTypeSub - - -class GivenNameTypeSub(supermod.GivenNameType): - def __init__(self, valueOf_=None, **kwargs_): - super(GivenNameTypeSub, self).__init__(valueOf_, **kwargs_) -supermod.GivenNameType.subclass = GivenNameTypeSub -# end class GivenNameTypeSub - - -class SurnameTypeSub(supermod.SurnameType): - def __init__(self, valueOf_=None, **kwargs_): - super(SurnameTypeSub, self).__init__(valueOf_, **kwargs_) -supermod.SurnameType.subclass = SurnameTypeSub -# end class SurnameTypeSub - - -class URLTypeSub(supermod.URLType): - def __init__(self, Type=None, valueOf_=None, **kwargs_): - super(URLTypeSub, self).__init__(Type, valueOf_, **kwargs_) -supermod.URLType.subclass = URLTypeSub -# end class URLTypeSub - - -class EmployeeInfoTypeSub(supermod.EmployeeInfoType): - def __init__(self, EmployeeId=None, **kwargs_): - super(EmployeeInfoTypeSub, self).__init__(EmployeeId, **kwargs_) -supermod.EmployeeInfoType.subclass = EmployeeInfoTypeSub -# end class EmployeeInfoTypeSub - - -class AttendeeInfoTypeSub(supermod.AttendeeInfoType): - def __init__(self, TotalQuantity=None, PreRegisteredQuantity=None, **kwargs_): - super(AttendeeInfoTypeSub, self).__init__(TotalQuantity, PreRegisteredQuantity, **kwargs_) -supermod.AttendeeInfoType.subclass = AttendeeInfoTypeSub -# end class AttendeeInfoTypeSub - - -class DatesTypeSub(supermod.DatesType): - def __init__(self, Date=None, **kwargs_): - super(DatesTypeSub, self).__init__(Date, **kwargs_) -supermod.DatesType.subclass = DatesTypeSub -# end class DatesTypeSub - - -class DateTypeSub(supermod.DateType): - def __init__(self, Start=None, End=None, EndDateWindow=None, LocationCategories=None, **kwargs_): - super(DateTypeSub, self).__init__(Start, End, EndDateWindow, LocationCategories, **kwargs_) -supermod.DateType.subclass = DateTypeSub -# end class DateTypeSub - - -class EndDateWindowTypeSub(supermod.EndDateWindowType): - def __init__(self, LatestDate=None, **kwargs_): - super(EndDateWindowTypeSub, self).__init__(LatestDate, **kwargs_) -supermod.EndDateWindowType.subclass = EndDateWindowTypeSub -# end class EndDateWindowTypeSub - - -class LocationCategoriesTypeSub(supermod.LocationCategoriesType): - def __init__(self, Location=None, Category=None, **kwargs_): - super(LocationCategoriesTypeSub, self).__init__(Location, Category, **kwargs_) -supermod.LocationCategoriesType.subclass = LocationCategoriesTypeSub -# end class LocationCategoriesTypeSub - - -class LocationTypeSub(supermod.LocationType): - def __init__(self, AreaID=None, **kwargs_): - super(LocationTypeSub, self).__init__(AreaID, **kwargs_) -supermod.LocationType.subclass = LocationTypeSub -# end class LocationTypeSub - - -class CategoryTypeSub(supermod.CategoryType): - def __init__(self, Language=None, valueOf_=None, **kwargs_): - super(CategoryTypeSub, self).__init__(Language, valueOf_, **kwargs_) -supermod.CategoryType.subclass = CategoryTypeSub -# end class CategoryTypeSub - - -class CommentsTypeSub(supermod.CommentsType): - def __init__(self, Comment=None, **kwargs_): - super(CommentsTypeSub, self).__init__(Comment, **kwargs_) -supermod.CommentsType.subclass = CommentsTypeSub -# end class CommentsTypeSub - - -class CommentTypeSub(supermod.CommentType): - def __init__(self, Name=None, Text=None, Image=None, **kwargs_): - super(CommentTypeSub, self).__init__(Name, Text, Image, **kwargs_) -supermod.CommentType.subclass = CommentTypeSub -# end class CommentTypeSub - - -class TextTypeSub(supermod.TextType): - def __init__(self, Language=None, valueOf_=None, **kwargs_): - super(TextTypeSub, self).__init__(Language, valueOf_, **kwargs_) -supermod.TextType.subclass = TextTypeSub -# end class TextTypeSub - - -class ImageTypeSub(supermod.ImageType): - def __init__(self, valueOf_=None, **kwargs_): - super(ImageTypeSub, self).__init__(valueOf_, **kwargs_) -supermod.ImageType.subclass = ImageTypeSub -# end class ImageTypeSub - - -class ErrorsType5Sub(supermod.ErrorsType5): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType5Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType5.subclass = ErrorsType5Sub -# end class ErrorsType5Sub - - -class ErrorType6Sub(supermod.ErrorType6): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType6Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType6.subclass = ErrorType6Sub -# end class ErrorType6Sub - - -class WarningsType8Sub(supermod.WarningsType8): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType8Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType8.subclass = WarningsType8Sub -# end class WarningsType8Sub - - -class WarningType9Sub(supermod.WarningType9): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType9Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType9.subclass = WarningType9Sub -# end class WarningType9Sub - - -class UniqueIDTypeSub(supermod.UniqueIDType): - def __init__(self, Type=None, ID=None, Instance=None, **kwargs_): - super(UniqueIDTypeSub, self).__init__(Type, ID, Instance, **kwargs_) -supermod.UniqueIDType.subclass = UniqueIDTypeSub -# end class UniqueIDTypeSub - - -class InventoriesTypeSub(supermod.InventoriesType): - def __init__(self, HotelCode=None, HotelName=None, Inventory=None, **kwargs_): - super(InventoriesTypeSub, self).__init__(HotelCode, HotelName, Inventory, **kwargs_) -supermod.InventoriesType.subclass = InventoriesTypeSub -# end class InventoriesTypeSub - - -class InventoryTypeSub(supermod.InventoryType): - def __init__(self, StatusApplicationControl=None, InvCounts=None, **kwargs_): - super(InventoryTypeSub, self).__init__(StatusApplicationControl, InvCounts, **kwargs_) -supermod.InventoryType.subclass = InventoryTypeSub -# end class InventoryTypeSub - - -class StatusApplicationControlTypeSub(supermod.StatusApplicationControlType): - def __init__(self, Start=None, End=None, InvTypeCode=None, InvCode=None, AllInvCode=None, **kwargs_): - super(StatusApplicationControlTypeSub, self).__init__(Start, End, InvTypeCode, InvCode, AllInvCode, **kwargs_) -supermod.StatusApplicationControlType.subclass = StatusApplicationControlTypeSub -# end class StatusApplicationControlTypeSub - - -class InvCountsTypeSub(supermod.InvCountsType): - def __init__(self, InvCount=None, **kwargs_): - super(InvCountsTypeSub, self).__init__(InvCount, **kwargs_) -supermod.InvCountsType.subclass = InvCountsTypeSub -# end class InvCountsTypeSub - - -class InvCountTypeSub(supermod.InvCountType): - def __init__(self, CountType=None, Count=None, **kwargs_): - super(InvCountTypeSub, self).__init__(CountType, Count, **kwargs_) -supermod.InvCountType.subclass = InvCountTypeSub -# end class InvCountTypeSub - - -class ErrorsType11Sub(supermod.ErrorsType11): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType11Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType11.subclass = ErrorsType11Sub -# end class ErrorsType11Sub - - -class ErrorType12Sub(supermod.ErrorType12): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType12Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType12.subclass = ErrorType12Sub -# end class ErrorType12Sub - - -class WarningsType14Sub(supermod.WarningsType14): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType14Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType14.subclass = WarningsType14Sub -# end class WarningsType14Sub - - -class WarningType15Sub(supermod.WarningType15): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType15Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType15.subclass = WarningType15Sub -# end class WarningType15Sub - - -class HotelReservationsTypeSub(supermod.HotelReservationsType): - def __init__(self, HotelReservation=None, **kwargs_): - super(HotelReservationsTypeSub, self).__init__(HotelReservation, **kwargs_) -supermod.HotelReservationsType.subclass = HotelReservationsTypeSub -# end class HotelReservationsTypeSub - - -class HotelReservationTypeSub(supermod.HotelReservationType): - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, **kwargs_): - super(HotelReservationTypeSub, self).__init__(CreateDateTime, LastModifyDateTime, ResStatus, RoomStayReservation, UniqueID, RoomStays, Services, ResGuests, ResGlobalInfo, **kwargs_) -supermod.HotelReservationType.subclass = HotelReservationTypeSub -# end class HotelReservationTypeSub - - -class UniqueIDType16Sub(supermod.UniqueIDType16): - def __init__(self, Type=None, ID=None, **kwargs_): - super(UniqueIDType16Sub, self).__init__(Type, ID, **kwargs_) -supermod.UniqueIDType16.subclass = UniqueIDType16Sub -# end class UniqueIDType16Sub - - -class RoomStaysTypeSub(supermod.RoomStaysType): - def __init__(self, RoomStay=None, **kwargs_): - super(RoomStaysTypeSub, self).__init__(RoomStay, **kwargs_) -supermod.RoomStaysType.subclass = RoomStaysTypeSub -# end class RoomStaysTypeSub - - -class RoomStayTypeSub(supermod.RoomStayType): - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, **kwargs_): - super(RoomStayTypeSub, self).__init__(RoomStayGroupID, RoomTypes, RatePlans, RoomRates, GuestCounts, TimeSpan, Guarantee, Total, ServiceRPHs, **kwargs_) -supermod.RoomStayType.subclass = RoomStayTypeSub -# end class RoomStayTypeSub - - -class RoomTypesTypeSub(supermod.RoomTypesType): - def __init__(self, RoomType=None, **kwargs_): - super(RoomTypesTypeSub, self).__init__(RoomType, **kwargs_) -supermod.RoomTypesType.subclass = RoomTypesTypeSub -# end class RoomTypesTypeSub - - -class RoomTypeTypeSub(supermod.RoomTypeType): - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, **kwargs_): - super(RoomTypeTypeSub, self).__init__(RoomTypeCode, RoomClassificationCode, RoomType, **kwargs_) -supermod.RoomTypeType.subclass = RoomTypeTypeSub -# end class RoomTypeTypeSub - - -class RatePlansTypeSub(supermod.RatePlansType): - def __init__(self, RatePlan=None, **kwargs_): - super(RatePlansTypeSub, self).__init__(RatePlan, **kwargs_) -supermod.RatePlansType.subclass = RatePlansTypeSub -# end class RatePlansTypeSub - - -class RatePlanTypeSub(supermod.RatePlanType): - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, **kwargs_): - super(RatePlanTypeSub, self).__init__(RatePlanCode, Commission, MealsIncluded, **kwargs_) -supermod.RatePlanType.subclass = RatePlanTypeSub -# end class RatePlanTypeSub - - -class CommissionTypeSub(supermod.CommissionType): - def __init__(self, Percent=None, CommissionPayableAmount=None, **kwargs_): - super(CommissionTypeSub, self).__init__(Percent, CommissionPayableAmount, **kwargs_) -supermod.CommissionType.subclass = CommissionTypeSub -# end class CommissionTypeSub - - -class CommissionPayableAmountTypeSub(supermod.CommissionPayableAmountType): - def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): - super(CommissionPayableAmountTypeSub, self).__init__(Amount, CurrencyCode, **kwargs_) -supermod.CommissionPayableAmountType.subclass = CommissionPayableAmountTypeSub -# end class CommissionPayableAmountTypeSub - - -class MealsIncludedTypeSub(supermod.MealsIncludedType): - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, **kwargs_): - super(MealsIncludedTypeSub, self).__init__(MealPlanIndicator, MealPlanCodes, **kwargs_) -supermod.MealsIncludedType.subclass = MealsIncludedTypeSub -# end class MealsIncludedTypeSub - - -class RoomRatesTypeSub(supermod.RoomRatesType): - def __init__(self, RoomRate=None, **kwargs_): - super(RoomRatesTypeSub, self).__init__(RoomRate, **kwargs_) -supermod.RoomRatesType.subclass = RoomRatesTypeSub -# end class RoomRatesTypeSub - - -class RoomRateTypeSub(supermod.RoomRateType): - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, **kwargs_): - super(RoomRateTypeSub, self).__init__(RatePlanCode, RoomTypeCode, Rates, **kwargs_) -supermod.RoomRateType.subclass = RoomRateTypeSub -# end class RoomRateTypeSub - - -class RatesTypeSub(supermod.RatesType): - def __init__(self, Rate=None, **kwargs_): - super(RatesTypeSub, self).__init__(Rate, **kwargs_) -supermod.RatesType.subclass = RatesTypeSub -# end class RatesTypeSub - - -class RateTypeSub(supermod.RateType): - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, **kwargs_): - super(RateTypeSub, self).__init__(EffectiveDate, ExpireDate, ExpireDateExclusiveInd, RateTimeUnit, UnitMultiplier, Base, **kwargs_) -supermod.RateType.subclass = RateTypeSub -# end class RateTypeSub - - -class BaseTypeSub(supermod.BaseType): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(BaseTypeSub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.BaseType.subclass = BaseTypeSub -# end class BaseTypeSub - - -class GuestCountsTypeSub(supermod.GuestCountsType): - def __init__(self, GuestCount=None, **kwargs_): - super(GuestCountsTypeSub, self).__init__(GuestCount, **kwargs_) -supermod.GuestCountsType.subclass = GuestCountsTypeSub -# end class GuestCountsTypeSub - - -class GuestCountTypeSub(supermod.GuestCountType): - def __init__(self, Count=None, Age=None, **kwargs_): - super(GuestCountTypeSub, self).__init__(Count, Age, **kwargs_) -supermod.GuestCountType.subclass = GuestCountTypeSub -# end class GuestCountTypeSub - - -class TimeSpanTypeSub(supermod.TimeSpanType): - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, **kwargs_): - super(TimeSpanTypeSub, self).__init__(Start, End, Duration, StartDateWindow, **kwargs_) -supermod.TimeSpanType.subclass = TimeSpanTypeSub -# end class TimeSpanTypeSub - - -class StartDateWindowTypeSub(supermod.StartDateWindowType): - def __init__(self, EarliestDate=None, LatestDate=None, **kwargs_): - super(StartDateWindowTypeSub, self).__init__(EarliestDate, LatestDate, **kwargs_) -supermod.StartDateWindowType.subclass = StartDateWindowTypeSub -# end class StartDateWindowTypeSub - - -class GuaranteeTypeSub(supermod.GuaranteeType): - def __init__(self, GuaranteesAccepted=None, **kwargs_): - super(GuaranteeTypeSub, self).__init__(GuaranteesAccepted, **kwargs_) -supermod.GuaranteeType.subclass = GuaranteeTypeSub -# end class GuaranteeTypeSub - - -class GuaranteesAcceptedTypeSub(supermod.GuaranteesAcceptedType): - def __init__(self, GuaranteeAccepted=None, **kwargs_): - super(GuaranteesAcceptedTypeSub, self).__init__(GuaranteeAccepted, **kwargs_) -supermod.GuaranteesAcceptedType.subclass = GuaranteesAcceptedTypeSub -# end class GuaranteesAcceptedTypeSub - - -class GuaranteeAcceptedTypeSub(supermod.GuaranteeAcceptedType): - def __init__(self, PaymentCard=None, **kwargs_): - super(GuaranteeAcceptedTypeSub, self).__init__(PaymentCard, **kwargs_) -supermod.GuaranteeAcceptedType.subclass = GuaranteeAcceptedTypeSub -# end class GuaranteeAcceptedTypeSub - - -class PaymentCardTypeSub(supermod.PaymentCardType): - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): - super(PaymentCardTypeSub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) -supermod.PaymentCardType.subclass = PaymentCardTypeSub -# end class PaymentCardTypeSub - - -class CardNumberTypeSub(supermod.CardNumberType): - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, **kwargs_): - super(CardNumberTypeSub, self).__init__(EncryptedValue, EncryptionMethod, PlainText, **kwargs_) -supermod.CardNumberType.subclass = CardNumberTypeSub -# end class CardNumberTypeSub - - -class TotalTypeSub(supermod.TotalType): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(TotalTypeSub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.TotalType.subclass = TotalTypeSub -# end class TotalTypeSub - - -class ServiceRPHsTypeSub(supermod.ServiceRPHsType): - def __init__(self, ServiceRPH=None, **kwargs_): - super(ServiceRPHsTypeSub, self).__init__(ServiceRPH, **kwargs_) -supermod.ServiceRPHsType.subclass = ServiceRPHsTypeSub -# end class ServiceRPHsTypeSub - - -class ServiceRPHTypeSub(supermod.ServiceRPHType): - def __init__(self, RPH=None, **kwargs_): - super(ServiceRPHTypeSub, self).__init__(RPH, **kwargs_) -supermod.ServiceRPHType.subclass = ServiceRPHTypeSub -# end class ServiceRPHTypeSub - - -class ServicesTypeSub(supermod.ServicesType): - def __init__(self, Service=None, **kwargs_): - super(ServicesTypeSub, self).__init__(Service, **kwargs_) -supermod.ServicesType.subclass = ServicesTypeSub -# end class ServicesTypeSub - - -class ServiceTypeSub(supermod.ServiceType): - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, **kwargs_): - super(ServiceTypeSub, self).__init__(ID, Type, ServiceCategoryCode, ServiceInventoryCode, ServiceRPH, ServicePricingType, Inclusive, Quantity, ServiceDetails, **kwargs_) -supermod.ServiceType.subclass = ServiceTypeSub -# end class ServiceTypeSub - - -class ServiceDetailsTypeSub(supermod.ServiceDetailsType): - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, **kwargs_): - super(ServiceDetailsTypeSub, self).__init__(GuestCounts, TimeSpan, Comments, Total, ServiceDescription, **kwargs_) -supermod.ServiceDetailsType.subclass = ServiceDetailsTypeSub -# end class ServiceDetailsTypeSub - - -class GuestCountsType19Sub(supermod.GuestCountsType19): - def __init__(self, GuestCount=None, **kwargs_): - super(GuestCountsType19Sub, self).__init__(GuestCount, **kwargs_) -supermod.GuestCountsType19.subclass = GuestCountsType19Sub -# end class GuestCountsType19Sub - - -class GuestCountType20Sub(supermod.GuestCountType20): - def __init__(self, Age=None, Count=None, **kwargs_): - super(GuestCountType20Sub, self).__init__(Age, Count, **kwargs_) -supermod.GuestCountType20.subclass = GuestCountType20Sub -# end class GuestCountType20Sub - - -class TimeSpanType21Sub(supermod.TimeSpanType21): - def __init__(self, Start=None, End=None, **kwargs_): - super(TimeSpanType21Sub, self).__init__(Start, End, **kwargs_) -supermod.TimeSpanType21.subclass = TimeSpanType21Sub -# end class TimeSpanType21Sub - - -class CommentsType22Sub(supermod.CommentsType22): - def __init__(self, Comment=None, **kwargs_): - super(CommentsType22Sub, self).__init__(Comment, **kwargs_) -supermod.CommentsType22.subclass = CommentsType22Sub -# end class CommentsType22Sub - - -class CommentType23Sub(supermod.CommentType23): - def __init__(self, Text=None, **kwargs_): - super(CommentType23Sub, self).__init__(Text, **kwargs_) -supermod.CommentType23.subclass = CommentType23Sub -# end class CommentType23Sub - - -class TextType24Sub(supermod.TextType24): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType24Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType24.subclass = TextType24Sub -# end class TextType24Sub - - -class TotalType25Sub(supermod.TotalType25): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(TotalType25Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.TotalType25.subclass = TotalType25Sub -# end class TotalType25Sub - - -class ServiceDescriptionTypeSub(supermod.ServiceDescriptionType): - def __init__(self, Text=None, **kwargs_): - super(ServiceDescriptionTypeSub, self).__init__(Text, **kwargs_) -supermod.ServiceDescriptionType.subclass = ServiceDescriptionTypeSub -# end class ServiceDescriptionTypeSub - - -class TextType26Sub(supermod.TextType26): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType26Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType26.subclass = TextType26Sub -# end class TextType26Sub - - -class ResGuestsTypeSub(supermod.ResGuestsType): - def __init__(self, ResGuest=None, **kwargs_): - super(ResGuestsTypeSub, self).__init__(ResGuest, **kwargs_) -supermod.ResGuestsType.subclass = ResGuestsTypeSub -# end class ResGuestsTypeSub - - -class ResGuestTypeSub(supermod.ResGuestType): - def __init__(self, Profiles=None, **kwargs_): - super(ResGuestTypeSub, self).__init__(Profiles, **kwargs_) -supermod.ResGuestType.subclass = ResGuestTypeSub -# end class ResGuestTypeSub - - -class ProfilesTypeSub(supermod.ProfilesType): - def __init__(self, ProfileInfo=None, **kwargs_): - super(ProfilesTypeSub, self).__init__(ProfileInfo, **kwargs_) -supermod.ProfilesType.subclass = ProfilesTypeSub -# end class ProfilesTypeSub - - -class ProfileInfoTypeSub(supermod.ProfileInfoType): - def __init__(self, Profile=None, **kwargs_): - super(ProfileInfoTypeSub, self).__init__(Profile, **kwargs_) -supermod.ProfileInfoType.subclass = ProfileInfoTypeSub -# end class ProfileInfoTypeSub - - -class ProfileTypeSub(supermod.ProfileType): - def __init__(self, Customer=None, **kwargs_): - super(ProfileTypeSub, self).__init__(Customer, **kwargs_) -supermod.ProfileType.subclass = ProfileTypeSub -# end class ProfileTypeSub - - -class CustomerTypeSub(supermod.CustomerType): - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, **kwargs_): - super(CustomerTypeSub, self).__init__(Gender, BirthDate, Language, PersonName, Telephone, Email, Address, **kwargs_) -supermod.CustomerType.subclass = CustomerTypeSub -# end class CustomerTypeSub - - -class PersonNameType30Sub(supermod.PersonNameType30): - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, **kwargs_): - super(PersonNameType30Sub, self).__init__(NamePrefix, GivenName, Surname, NameTitle, **kwargs_) -supermod.PersonNameType30.subclass = PersonNameType30Sub -# end class PersonNameType30Sub - - -class TelephoneTypeSub(supermod.TelephoneType): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(TelephoneTypeSub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.TelephoneType.subclass = TelephoneTypeSub -# end class TelephoneTypeSub - - -class EmailTypeSub(supermod.EmailType): - def __init__(self, Remark=None, valueOf_=None, **kwargs_): - super(EmailTypeSub, self).__init__(Remark, valueOf_, **kwargs_) -supermod.EmailType.subclass = EmailTypeSub -# end class EmailTypeSub - - -class AddressTypeSub(supermod.AddressType): - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): - super(AddressTypeSub, self).__init__(Remark, AddressLine, CityName, PostalCode, CountryName, **kwargs_) -supermod.AddressType.subclass = AddressTypeSub -# end class AddressTypeSub - - -class CountryNameTypeSub(supermod.CountryNameType): - def __init__(self, Code=None, **kwargs_): - super(CountryNameTypeSub, self).__init__(Code, **kwargs_) -supermod.CountryNameType.subclass = CountryNameTypeSub -# end class CountryNameTypeSub - - -class ResGlobalInfoTypeSub(supermod.ResGlobalInfoType): - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, **kwargs_): - super(ResGlobalInfoTypeSub, self).__init__(Comments, SpecialRequests, DepositPayments, CancelPenalties, HotelReservationIDs, Profiles, BasicPropertyInfo, **kwargs_) -supermod.ResGlobalInfoType.subclass = ResGlobalInfoTypeSub -# end class ResGlobalInfoTypeSub - - -class CommentsType33Sub(supermod.CommentsType33): - def __init__(self, Comment=None, **kwargs_): - super(CommentsType33Sub, self).__init__(Comment, **kwargs_) -supermod.CommentsType33.subclass = CommentsType33Sub -# end class CommentsType33Sub - - -class CommentType34Sub(supermod.CommentType34): - def __init__(self, Name=None, ListItem=None, Text=None, **kwargs_): - super(CommentType34Sub, self).__init__(Name, ListItem, Text, **kwargs_) -supermod.CommentType34.subclass = CommentType34Sub -# end class CommentType34Sub - - -class ListItemTypeSub(supermod.ListItemType): - def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): - super(ListItemTypeSub, self).__init__(ListItem, Language, valueOf_, **kwargs_) -supermod.ListItemType.subclass = ListItemTypeSub -# end class ListItemTypeSub - - -class SpecialRequestsTypeSub(supermod.SpecialRequestsType): - def __init__(self, SpecialRequest=None, **kwargs_): - super(SpecialRequestsTypeSub, self).__init__(SpecialRequest, **kwargs_) -supermod.SpecialRequestsType.subclass = SpecialRequestsTypeSub -# end class SpecialRequestsTypeSub - - -class SpecialRequestTypeSub(supermod.SpecialRequestType): - def __init__(self, RequestCode=None, CodeContext=None, Text=None, **kwargs_): - super(SpecialRequestTypeSub, self).__init__(RequestCode, CodeContext, Text, **kwargs_) -supermod.SpecialRequestType.subclass = SpecialRequestTypeSub -# end class SpecialRequestTypeSub - - -class TextType37Sub(supermod.TextType37): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType37Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType37.subclass = TextType37Sub -# end class TextType37Sub - - -class DepositPaymentsTypeSub(supermod.DepositPaymentsType): - def __init__(self, GuaranteePayment=None, **kwargs_): - super(DepositPaymentsTypeSub, self).__init__(GuaranteePayment, **kwargs_) -supermod.DepositPaymentsType.subclass = DepositPaymentsTypeSub -# end class DepositPaymentsTypeSub - - -class GuaranteePaymentTypeSub(supermod.GuaranteePaymentType): - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, **kwargs_): - super(GuaranteePaymentTypeSub, self).__init__(Start, GuaranteeCode, AcceptedPayments, AmountPercent, **kwargs_) -supermod.GuaranteePaymentType.subclass = GuaranteePaymentTypeSub -# end class GuaranteePaymentTypeSub - - -class AcceptedPaymentsTypeSub(supermod.AcceptedPaymentsType): - def __init__(self, AcceptedPayment=None, **kwargs_): - super(AcceptedPaymentsTypeSub, self).__init__(AcceptedPayment, **kwargs_) -supermod.AcceptedPaymentsType.subclass = AcceptedPaymentsTypeSub -# end class AcceptedPaymentsTypeSub - - -class AcceptedPaymentTypeSub(supermod.AcceptedPaymentType): - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, **kwargs_): - super(AcceptedPaymentTypeSub, self).__init__(GuaranteeTypeCode, GuaranteeID, PaymentTransactionTypeCode, PaymentCard, BankAcct, Voucher, **kwargs_) -supermod.AcceptedPaymentType.subclass = AcceptedPaymentTypeSub -# end class AcceptedPaymentTypeSub - - -class PaymentCardType39Sub(supermod.PaymentCardType39): - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): - super(PaymentCardType39Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) -supermod.PaymentCardType39.subclass = PaymentCardType39Sub -# end class PaymentCardType39Sub - - -class CardNumberType40Sub(supermod.CardNumberType40): - def __init__(self, Mask=None, Token=None, TokenProviderID=None, **kwargs_): - super(CardNumberType40Sub, self).__init__(Mask, Token, TokenProviderID, **kwargs_) -supermod.CardNumberType40.subclass = CardNumberType40Sub -# end class CardNumberType40Sub - - -class BankAcctTypeSub(supermod.BankAcctType): - def __init__(self, BankAcctName=None, BankAcctNumber=None, **kwargs_): - super(BankAcctTypeSub, self).__init__(BankAcctName, BankAcctNumber, **kwargs_) -supermod.BankAcctType.subclass = BankAcctTypeSub -# end class BankAcctTypeSub - - -class BankAcctNumberTypeSub(supermod.BankAcctNumberType): - def __init__(self, Mask=None, PlainText=None, **kwargs_): - super(BankAcctNumberTypeSub, self).__init__(Mask, PlainText, **kwargs_) -supermod.BankAcctNumberType.subclass = BankAcctNumberTypeSub -# end class BankAcctNumberTypeSub - - -class VoucherTypeSub(supermod.VoucherType): - def __init__(self, ElectronicIndicator=None, Identifier=None, **kwargs_): - super(VoucherTypeSub, self).__init__(ElectronicIndicator, Identifier, **kwargs_) -supermod.VoucherType.subclass = VoucherTypeSub -# end class VoucherTypeSub - - -class AmountPercentTypeSub(supermod.AmountPercentType): - def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): - super(AmountPercentTypeSub, self).__init__(Amount, CurrencyCode, **kwargs_) -supermod.AmountPercentType.subclass = AmountPercentTypeSub -# end class AmountPercentTypeSub - - -class CancelPenaltiesTypeSub(supermod.CancelPenaltiesType): - def __init__(self, CancelPenalty=None, **kwargs_): - super(CancelPenaltiesTypeSub, self).__init__(CancelPenalty, **kwargs_) -supermod.CancelPenaltiesType.subclass = CancelPenaltiesTypeSub -# end class CancelPenaltiesTypeSub - - -class CancelPenaltyTypeSub(supermod.CancelPenaltyType): - def __init__(self, PenaltyDescription=None, **kwargs_): - super(CancelPenaltyTypeSub, self).__init__(PenaltyDescription, **kwargs_) -supermod.CancelPenaltyType.subclass = CancelPenaltyTypeSub -# end class CancelPenaltyTypeSub - - -class PenaltyDescriptionTypeSub(supermod.PenaltyDescriptionType): - def __init__(self, Text=None, **kwargs_): - super(PenaltyDescriptionTypeSub, self).__init__(Text, **kwargs_) -supermod.PenaltyDescriptionType.subclass = PenaltyDescriptionTypeSub -# end class PenaltyDescriptionTypeSub - - -class HotelReservationIDsTypeSub(supermod.HotelReservationIDsType): - def __init__(self, HotelReservationID=None, **kwargs_): - super(HotelReservationIDsTypeSub, self).__init__(HotelReservationID, **kwargs_) -supermod.HotelReservationIDsType.subclass = HotelReservationIDsTypeSub -# end class HotelReservationIDsTypeSub - - -class HotelReservationIDTypeSub(supermod.HotelReservationIDType): - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, **kwargs_): - super(HotelReservationIDTypeSub, self).__init__(ResID_Type, ResID_Value, ResID_Source, ResID_SourceContext, **kwargs_) -supermod.HotelReservationIDType.subclass = HotelReservationIDTypeSub -# end class HotelReservationIDTypeSub - - -class ProfilesType44Sub(supermod.ProfilesType44): - def __init__(self, ProfileInfo=None, **kwargs_): - super(ProfilesType44Sub, self).__init__(ProfileInfo, **kwargs_) -supermod.ProfilesType44.subclass = ProfilesType44Sub -# end class ProfilesType44Sub - - -class ProfileInfoType45Sub(supermod.ProfileInfoType45): - def __init__(self, Profile=None, **kwargs_): - super(ProfileInfoType45Sub, self).__init__(Profile, **kwargs_) -supermod.ProfileInfoType45.subclass = ProfileInfoType45Sub -# end class ProfileInfoType45Sub - - -class ProfileType46Sub(supermod.ProfileType46): - def __init__(self, ProfileType=None, CompanyInfo=None, **kwargs_): - super(ProfileType46Sub, self).__init__(ProfileType, CompanyInfo, **kwargs_) -supermod.ProfileType46.subclass = ProfileType46Sub -# end class ProfileType46Sub - - -class CompanyInfoTypeSub(supermod.CompanyInfoType): - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, **kwargs_): - super(CompanyInfoTypeSub, self).__init__(CompanyName, AddressInfo, TelephoneInfo, Email, **kwargs_) -supermod.CompanyInfoType.subclass = CompanyInfoTypeSub -# end class CompanyInfoTypeSub - - -class CompanyNameTypeSub(supermod.CompanyNameType): - def __init__(self, Code=None, CodeContext=None, valueOf_=None, **kwargs_): - super(CompanyNameTypeSub, self).__init__(Code, CodeContext, valueOf_, **kwargs_) -supermod.CompanyNameType.subclass = CompanyNameTypeSub -# end class CompanyNameTypeSub - - -class AddressInfoTypeSub(supermod.AddressInfoType): - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): - super(AddressInfoTypeSub, self).__init__(AddressLine, CityName, PostalCode, CountryName, **kwargs_) -supermod.AddressInfoType.subclass = AddressInfoTypeSub -# end class AddressInfoTypeSub - - -class CountryNameType47Sub(supermod.CountryNameType47): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType47Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType47.subclass = CountryNameType47Sub -# end class CountryNameType47Sub - - -class TelephoneInfoTypeSub(supermod.TelephoneInfoType): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(TelephoneInfoTypeSub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.TelephoneInfoType.subclass = TelephoneInfoTypeSub -# end class TelephoneInfoTypeSub - - -class BasicPropertyInfoTypeSub(supermod.BasicPropertyInfoType): - def __init__(self, HotelCode=None, HotelName=None, **kwargs_): - super(BasicPropertyInfoTypeSub, self).__init__(HotelCode, HotelName, **kwargs_) -supermod.BasicPropertyInfoType.subclass = BasicPropertyInfoTypeSub -# end class BasicPropertyInfoTypeSub - - -class ErrorsType51Sub(supermod.ErrorsType51): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType51Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType51.subclass = ErrorsType51Sub -# end class ErrorsType51Sub - - -class ErrorType52Sub(supermod.ErrorType52): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType52Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType52.subclass = ErrorType52Sub -# end class ErrorType52Sub - - -class WarningsType54Sub(supermod.WarningsType54): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType54Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType54.subclass = WarningsType54Sub -# end class WarningsType54Sub - - -class WarningType55Sub(supermod.WarningType55): - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType55Sub, self).__init__(Type, Code, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType55.subclass = WarningType55Sub -# end class WarningType55Sub - - -class HotelReservationsType56Sub(supermod.HotelReservationsType56): - def __init__(self, HotelReservation=None, **kwargs_): - super(HotelReservationsType56Sub, self).__init__(HotelReservation, **kwargs_) -supermod.HotelReservationsType56.subclass = HotelReservationsType56Sub -# end class HotelReservationsType56Sub - - -class HotelReservationType57Sub(supermod.HotelReservationType57): - def __init__(self, UniqueID=None, **kwargs_): - super(HotelReservationType57Sub, self).__init__(UniqueID, **kwargs_) -supermod.HotelReservationType57.subclass = HotelReservationType57Sub -# end class HotelReservationType57Sub - - -class UniqueIDType58Sub(supermod.UniqueIDType58): - def __init__(self, Type=None, ID=None, **kwargs_): - super(UniqueIDType58Sub, self).__init__(Type, ID, **kwargs_) -supermod.UniqueIDType58.subclass = UniqueIDType58Sub -# end class UniqueIDType58Sub - - -class ReadRequestsTypeSub(supermod.ReadRequestsType): - def __init__(self, HotelReadRequest=None, **kwargs_): - super(ReadRequestsTypeSub, self).__init__(HotelReadRequest, **kwargs_) -supermod.ReadRequestsType.subclass = ReadRequestsTypeSub -# end class ReadRequestsTypeSub - - -class HotelReadRequestTypeSub(supermod.HotelReadRequestType): - def __init__(self, HotelCode=None, HotelName=None, SelectionCriteria=None, **kwargs_): - super(HotelReadRequestTypeSub, self).__init__(HotelCode, HotelName, SelectionCriteria, **kwargs_) -supermod.HotelReadRequestType.subclass = HotelReadRequestTypeSub -# end class HotelReadRequestTypeSub - - -class SelectionCriteriaTypeSub(supermod.SelectionCriteriaType): - def __init__(self, Start=None, **kwargs_): - super(SelectionCriteriaTypeSub, self).__init__(Start, **kwargs_) -supermod.SelectionCriteriaType.subclass = SelectionCriteriaTypeSub -# end class SelectionCriteriaTypeSub - - -class ErrorsType60Sub(supermod.ErrorsType60): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType60Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType60.subclass = ErrorsType60Sub -# end class ErrorsType60Sub - - -class ErrorType61Sub(supermod.ErrorType61): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType61Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType61.subclass = ErrorType61Sub -# end class ErrorType61Sub - - -class WarningsType63Sub(supermod.WarningsType63): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType63Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType63.subclass = WarningsType63Sub -# end class WarningsType63Sub - - -class WarningType64Sub(supermod.WarningType64): - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType64Sub, self).__init__(Type, Code, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType64.subclass = WarningType64Sub -# end class WarningType64Sub - - -class ReservationsListTypeSub(supermod.ReservationsListType): - def __init__(self, HotelReservation=None, **kwargs_): - super(ReservationsListTypeSub, self).__init__(HotelReservation, **kwargs_) -supermod.ReservationsListType.subclass = ReservationsListTypeSub -# end class ReservationsListTypeSub - - -class HotelReservationType65Sub(supermod.HotelReservationType65): - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, **kwargs_): - super(HotelReservationType65Sub, self).__init__(CreateDateTime, LastModifyDateTime, ResStatus, RoomStayReservation, UniqueID, RoomStays, Services, ResGuests, ResGlobalInfo, **kwargs_) -supermod.HotelReservationType65.subclass = HotelReservationType65Sub -# end class HotelReservationType65Sub - - -class UniqueIDType66Sub(supermod.UniqueIDType66): - def __init__(self, Type=None, ID=None, **kwargs_): - super(UniqueIDType66Sub, self).__init__(Type, ID, **kwargs_) -supermod.UniqueIDType66.subclass = UniqueIDType66Sub -# end class UniqueIDType66Sub - - -class RoomStaysType68Sub(supermod.RoomStaysType68): - def __init__(self, RoomStay=None, **kwargs_): - super(RoomStaysType68Sub, self).__init__(RoomStay, **kwargs_) -supermod.RoomStaysType68.subclass = RoomStaysType68Sub -# end class RoomStaysType68Sub - - -class RoomStayType69Sub(supermod.RoomStayType69): - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, **kwargs_): - super(RoomStayType69Sub, self).__init__(RoomStayGroupID, RoomTypes, RatePlans, RoomRates, GuestCounts, TimeSpan, Guarantee, Total, ServiceRPHs, **kwargs_) -supermod.RoomStayType69.subclass = RoomStayType69Sub -# end class RoomStayType69Sub - - -class RoomTypesType70Sub(supermod.RoomTypesType70): - def __init__(self, RoomType=None, **kwargs_): - super(RoomTypesType70Sub, self).__init__(RoomType, **kwargs_) -supermod.RoomTypesType70.subclass = RoomTypesType70Sub -# end class RoomTypesType70Sub - - -class RoomTypeType71Sub(supermod.RoomTypeType71): - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, **kwargs_): - super(RoomTypeType71Sub, self).__init__(RoomTypeCode, RoomClassificationCode, RoomType, **kwargs_) -supermod.RoomTypeType71.subclass = RoomTypeType71Sub -# end class RoomTypeType71Sub - - -class RatePlansType73Sub(supermod.RatePlansType73): - def __init__(self, RatePlan=None, **kwargs_): - super(RatePlansType73Sub, self).__init__(RatePlan, **kwargs_) -supermod.RatePlansType73.subclass = RatePlansType73Sub -# end class RatePlansType73Sub - - -class RatePlanType74Sub(supermod.RatePlanType74): - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, **kwargs_): - super(RatePlanType74Sub, self).__init__(RatePlanCode, Commission, MealsIncluded, **kwargs_) -supermod.RatePlanType74.subclass = RatePlanType74Sub -# end class RatePlanType74Sub - - -class CommissionType75Sub(supermod.CommissionType75): - def __init__(self, Percent=None, CommissionPayableAmount=None, **kwargs_): - super(CommissionType75Sub, self).__init__(Percent, CommissionPayableAmount, **kwargs_) -supermod.CommissionType75.subclass = CommissionType75Sub -# end class CommissionType75Sub - - -class CommissionPayableAmountType76Sub(supermod.CommissionPayableAmountType76): - def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): - super(CommissionPayableAmountType76Sub, self).__init__(Amount, CurrencyCode, **kwargs_) -supermod.CommissionPayableAmountType76.subclass = CommissionPayableAmountType76Sub -# end class CommissionPayableAmountType76Sub - - -class MealsIncludedType77Sub(supermod.MealsIncludedType77): - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, **kwargs_): - super(MealsIncludedType77Sub, self).__init__(MealPlanIndicator, MealPlanCodes, **kwargs_) -supermod.MealsIncludedType77.subclass = MealsIncludedType77Sub -# end class MealsIncludedType77Sub - - -class RoomRatesType80Sub(supermod.RoomRatesType80): - def __init__(self, RoomRate=None, **kwargs_): - super(RoomRatesType80Sub, self).__init__(RoomRate, **kwargs_) -supermod.RoomRatesType80.subclass = RoomRatesType80Sub -# end class RoomRatesType80Sub - - -class RoomRateType81Sub(supermod.RoomRateType81): - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, **kwargs_): - super(RoomRateType81Sub, self).__init__(RatePlanCode, RoomTypeCode, Rates, **kwargs_) -supermod.RoomRateType81.subclass = RoomRateType81Sub -# end class RoomRateType81Sub - - -class RatesType82Sub(supermod.RatesType82): - def __init__(self, Rate=None, **kwargs_): - super(RatesType82Sub, self).__init__(Rate, **kwargs_) -supermod.RatesType82.subclass = RatesType82Sub -# end class RatesType82Sub - - -class RateType83Sub(supermod.RateType83): - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, **kwargs_): - super(RateType83Sub, self).__init__(EffectiveDate, ExpireDate, ExpireDateExclusiveInd, RateTimeUnit, UnitMultiplier, Base, **kwargs_) -supermod.RateType83.subclass = RateType83Sub -# end class RateType83Sub - - -class BaseType84Sub(supermod.BaseType84): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(BaseType84Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.BaseType84.subclass = BaseType84Sub -# end class BaseType84Sub - - -class GuestCountsType86Sub(supermod.GuestCountsType86): - def __init__(self, GuestCount=None, **kwargs_): - super(GuestCountsType86Sub, self).__init__(GuestCount, **kwargs_) -supermod.GuestCountsType86.subclass = GuestCountsType86Sub -# end class GuestCountsType86Sub - - -class GuestCountType87Sub(supermod.GuestCountType87): - def __init__(self, Count=None, Age=None, **kwargs_): - super(GuestCountType87Sub, self).__init__(Count, Age, **kwargs_) -supermod.GuestCountType87.subclass = GuestCountType87Sub -# end class GuestCountType87Sub - - -class TimeSpanType88Sub(supermod.TimeSpanType88): - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, **kwargs_): - super(TimeSpanType88Sub, self).__init__(Start, End, Duration, StartDateWindow, **kwargs_) -supermod.TimeSpanType88.subclass = TimeSpanType88Sub -# end class TimeSpanType88Sub - - -class StartDateWindowType89Sub(supermod.StartDateWindowType89): - def __init__(self, EarliestDate=None, LatestDate=None, **kwargs_): - super(StartDateWindowType89Sub, self).__init__(EarliestDate, LatestDate, **kwargs_) -supermod.StartDateWindowType89.subclass = StartDateWindowType89Sub -# end class StartDateWindowType89Sub - - -class GuaranteeType91Sub(supermod.GuaranteeType91): - def __init__(self, GuaranteesAccepted=None, **kwargs_): - super(GuaranteeType91Sub, self).__init__(GuaranteesAccepted, **kwargs_) -supermod.GuaranteeType91.subclass = GuaranteeType91Sub -# end class GuaranteeType91Sub - - -class GuaranteesAcceptedType92Sub(supermod.GuaranteesAcceptedType92): - def __init__(self, GuaranteeAccepted=None, **kwargs_): - super(GuaranteesAcceptedType92Sub, self).__init__(GuaranteeAccepted, **kwargs_) -supermod.GuaranteesAcceptedType92.subclass = GuaranteesAcceptedType92Sub -# end class GuaranteesAcceptedType92Sub - - -class GuaranteeAcceptedType93Sub(supermod.GuaranteeAcceptedType93): - def __init__(self, PaymentCard=None, **kwargs_): - super(GuaranteeAcceptedType93Sub, self).__init__(PaymentCard, **kwargs_) -supermod.GuaranteeAcceptedType93.subclass = GuaranteeAcceptedType93Sub -# end class GuaranteeAcceptedType93Sub - - -class PaymentCardType94Sub(supermod.PaymentCardType94): - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): - super(PaymentCardType94Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) -supermod.PaymentCardType94.subclass = PaymentCardType94Sub -# end class PaymentCardType94Sub - - -class CardNumberType95Sub(supermod.CardNumberType95): - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, **kwargs_): - super(CardNumberType95Sub, self).__init__(EncryptedValue, EncryptionMethod, PlainText, **kwargs_) -supermod.CardNumberType95.subclass = CardNumberType95Sub -# end class CardNumberType95Sub - - -class TotalType98Sub(supermod.TotalType98): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(TotalType98Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.TotalType98.subclass = TotalType98Sub -# end class TotalType98Sub - - -class ServiceRPHsType99Sub(supermod.ServiceRPHsType99): - def __init__(self, ServiceRPH=None, **kwargs_): - super(ServiceRPHsType99Sub, self).__init__(ServiceRPH, **kwargs_) -supermod.ServiceRPHsType99.subclass = ServiceRPHsType99Sub -# end class ServiceRPHsType99Sub - - -class ServiceRPHType100Sub(supermod.ServiceRPHType100): - def __init__(self, RPH=None, **kwargs_): - super(ServiceRPHType100Sub, self).__init__(RPH, **kwargs_) -supermod.ServiceRPHType100.subclass = ServiceRPHType100Sub -# end class ServiceRPHType100Sub - - -class ServicesType102Sub(supermod.ServicesType102): - def __init__(self, Service=None, **kwargs_): - super(ServicesType102Sub, self).__init__(Service, **kwargs_) -supermod.ServicesType102.subclass = ServicesType102Sub -# end class ServicesType102Sub - - -class ServiceType103Sub(supermod.ServiceType103): - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, **kwargs_): - super(ServiceType103Sub, self).__init__(ID, Type, ServiceCategoryCode, ServiceInventoryCode, ServiceRPH, ServicePricingType, Inclusive, Quantity, ServiceDetails, **kwargs_) -supermod.ServiceType103.subclass = ServiceType103Sub -# end class ServiceType103Sub - - -class ServiceDetailsType104Sub(supermod.ServiceDetailsType104): - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, **kwargs_): - super(ServiceDetailsType104Sub, self).__init__(GuestCounts, TimeSpan, Comments, Total, ServiceDescription, **kwargs_) -supermod.ServiceDetailsType104.subclass = ServiceDetailsType104Sub -# end class ServiceDetailsType104Sub - - -class GuestCountsType105Sub(supermod.GuestCountsType105): - def __init__(self, GuestCount=None, **kwargs_): - super(GuestCountsType105Sub, self).__init__(GuestCount, **kwargs_) -supermod.GuestCountsType105.subclass = GuestCountsType105Sub -# end class GuestCountsType105Sub - - -class GuestCountType106Sub(supermod.GuestCountType106): - def __init__(self, Age=None, Count=None, **kwargs_): - super(GuestCountType106Sub, self).__init__(Age, Count, **kwargs_) -supermod.GuestCountType106.subclass = GuestCountType106Sub -# end class GuestCountType106Sub - - -class TimeSpanType107Sub(supermod.TimeSpanType107): - def __init__(self, Start=None, End=None, **kwargs_): - super(TimeSpanType107Sub, self).__init__(Start, End, **kwargs_) -supermod.TimeSpanType107.subclass = TimeSpanType107Sub -# end class TimeSpanType107Sub - - -class CommentsType108Sub(supermod.CommentsType108): - def __init__(self, Comment=None, **kwargs_): - super(CommentsType108Sub, self).__init__(Comment, **kwargs_) -supermod.CommentsType108.subclass = CommentsType108Sub -# end class CommentsType108Sub - - -class CommentType109Sub(supermod.CommentType109): - def __init__(self, Text=None, **kwargs_): - super(CommentType109Sub, self).__init__(Text, **kwargs_) -supermod.CommentType109.subclass = CommentType109Sub -# end class CommentType109Sub - - -class TextType110Sub(supermod.TextType110): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType110Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType110.subclass = TextType110Sub -# end class TextType110Sub - - -class TotalType112Sub(supermod.TotalType112): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(TotalType112Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.TotalType112.subclass = TotalType112Sub -# end class TotalType112Sub - - -class ServiceDescriptionType113Sub(supermod.ServiceDescriptionType113): - def __init__(self, Text=None, **kwargs_): - super(ServiceDescriptionType113Sub, self).__init__(Text, **kwargs_) -supermod.ServiceDescriptionType113.subclass = ServiceDescriptionType113Sub -# end class ServiceDescriptionType113Sub - - -class TextType114Sub(supermod.TextType114): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType114Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType114.subclass = TextType114Sub -# end class TextType114Sub - - -class ResGuestsType120Sub(supermod.ResGuestsType120): - def __init__(self, ResGuest=None, **kwargs_): - super(ResGuestsType120Sub, self).__init__(ResGuest, **kwargs_) -supermod.ResGuestsType120.subclass = ResGuestsType120Sub -# end class ResGuestsType120Sub - - -class ResGuestType121Sub(supermod.ResGuestType121): - def __init__(self, Profiles=None, **kwargs_): - super(ResGuestType121Sub, self).__init__(Profiles, **kwargs_) -supermod.ResGuestType121.subclass = ResGuestType121Sub -# end class ResGuestType121Sub - - -class ProfilesType122Sub(supermod.ProfilesType122): - def __init__(self, ProfileInfo=None, **kwargs_): - super(ProfilesType122Sub, self).__init__(ProfileInfo, **kwargs_) -supermod.ProfilesType122.subclass = ProfilesType122Sub -# end class ProfilesType122Sub - - -class ProfileInfoType123Sub(supermod.ProfileInfoType123): - def __init__(self, Profile=None, **kwargs_): - super(ProfileInfoType123Sub, self).__init__(Profile, **kwargs_) -supermod.ProfileInfoType123.subclass = ProfileInfoType123Sub -# end class ProfileInfoType123Sub - - -class ProfileType124Sub(supermod.ProfileType124): - def __init__(self, Customer=None, **kwargs_): - super(ProfileType124Sub, self).__init__(Customer, **kwargs_) -supermod.ProfileType124.subclass = ProfileType124Sub -# end class ProfileType124Sub - - -class CustomerType125Sub(supermod.CustomerType125): - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, **kwargs_): - super(CustomerType125Sub, self).__init__(Gender, BirthDate, Language, PersonName, Telephone, Email, Address, **kwargs_) -supermod.CustomerType125.subclass = CustomerType125Sub -# end class CustomerType125Sub - - -class PersonNameType126Sub(supermod.PersonNameType126): - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, **kwargs_): - super(PersonNameType126Sub, self).__init__(NamePrefix, GivenName, Surname, NameTitle, **kwargs_) -supermod.PersonNameType126.subclass = PersonNameType126Sub -# end class PersonNameType126Sub - - -class TelephoneType127Sub(supermod.TelephoneType127): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(TelephoneType127Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.TelephoneType127.subclass = TelephoneType127Sub -# end class TelephoneType127Sub - - -class EmailType130Sub(supermod.EmailType130): - def __init__(self, Remark=None, valueOf_=None, **kwargs_): - super(EmailType130Sub, self).__init__(Remark, valueOf_, **kwargs_) -supermod.EmailType130.subclass = EmailType130Sub -# end class EmailType130Sub - - -class AddressType132Sub(supermod.AddressType132): - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): - super(AddressType132Sub, self).__init__(Remark, AddressLine, CityName, PostalCode, CountryName, **kwargs_) -supermod.AddressType132.subclass = AddressType132Sub -# end class AddressType132Sub - - -class CountryNameType133Sub(supermod.CountryNameType133): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType133Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType133.subclass = CountryNameType133Sub -# end class CountryNameType133Sub - - -class ResGlobalInfoType138Sub(supermod.ResGlobalInfoType138): - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, **kwargs_): - super(ResGlobalInfoType138Sub, self).__init__(Comments, SpecialRequests, DepositPayments, CancelPenalties, HotelReservationIDs, Profiles, BasicPropertyInfo, **kwargs_) -supermod.ResGlobalInfoType138.subclass = ResGlobalInfoType138Sub -# end class ResGlobalInfoType138Sub - - -class CommentsType139Sub(supermod.CommentsType139): - def __init__(self, Comment=None, **kwargs_): - super(CommentsType139Sub, self).__init__(Comment, **kwargs_) -supermod.CommentsType139.subclass = CommentsType139Sub -# end class CommentsType139Sub - - -class CommentType140Sub(supermod.CommentType140): - def __init__(self, Name=None, ListItem=None, Text=None, **kwargs_): - super(CommentType140Sub, self).__init__(Name, ListItem, Text, **kwargs_) -supermod.CommentType140.subclass = CommentType140Sub -# end class CommentType140Sub - - -class ListItemType141Sub(supermod.ListItemType141): - def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): - super(ListItemType141Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) -supermod.ListItemType141.subclass = ListItemType141Sub -# end class ListItemType141Sub - - -class SpecialRequestsType144Sub(supermod.SpecialRequestsType144): - def __init__(self, SpecialRequest=None, **kwargs_): - super(SpecialRequestsType144Sub, self).__init__(SpecialRequest, **kwargs_) -supermod.SpecialRequestsType144.subclass = SpecialRequestsType144Sub -# end class SpecialRequestsType144Sub - - -class SpecialRequestType145Sub(supermod.SpecialRequestType145): - def __init__(self, RequestCode=None, CodeContext=None, Text=None, **kwargs_): - super(SpecialRequestType145Sub, self).__init__(RequestCode, CodeContext, Text, **kwargs_) -supermod.SpecialRequestType145.subclass = SpecialRequestType145Sub -# end class SpecialRequestType145Sub - - -class TextType146Sub(supermod.TextType146): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType146Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType146.subclass = TextType146Sub -# end class TextType146Sub - - -class DepositPaymentsType149Sub(supermod.DepositPaymentsType149): - def __init__(self, GuaranteePayment=None, **kwargs_): - super(DepositPaymentsType149Sub, self).__init__(GuaranteePayment, **kwargs_) -supermod.DepositPaymentsType149.subclass = DepositPaymentsType149Sub -# end class DepositPaymentsType149Sub - - -class GuaranteePaymentType150Sub(supermod.GuaranteePaymentType150): - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, **kwargs_): - super(GuaranteePaymentType150Sub, self).__init__(Start, GuaranteeCode, AcceptedPayments, AmountPercent, **kwargs_) -supermod.GuaranteePaymentType150.subclass = GuaranteePaymentType150Sub -# end class GuaranteePaymentType150Sub - - -class AcceptedPaymentsType151Sub(supermod.AcceptedPaymentsType151): - def __init__(self, AcceptedPayment=None, **kwargs_): - super(AcceptedPaymentsType151Sub, self).__init__(AcceptedPayment, **kwargs_) -supermod.AcceptedPaymentsType151.subclass = AcceptedPaymentsType151Sub -# end class AcceptedPaymentsType151Sub - - -class AcceptedPaymentType152Sub(supermod.AcceptedPaymentType152): - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, **kwargs_): - super(AcceptedPaymentType152Sub, self).__init__(GuaranteeTypeCode, GuaranteeID, PaymentTransactionTypeCode, PaymentCard, BankAcct, Voucher, **kwargs_) -supermod.AcceptedPaymentType152.subclass = AcceptedPaymentType152Sub -# end class AcceptedPaymentType152Sub - - -class PaymentCardType153Sub(supermod.PaymentCardType153): - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): - super(PaymentCardType153Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) -supermod.PaymentCardType153.subclass = PaymentCardType153Sub -# end class PaymentCardType153Sub - - -class CardNumberType154Sub(supermod.CardNumberType154): - def __init__(self, Mask=None, Token=None, TokenProviderID=None, **kwargs_): - super(CardNumberType154Sub, self).__init__(Mask, Token, TokenProviderID, **kwargs_) -supermod.CardNumberType154.subclass = CardNumberType154Sub -# end class CardNumberType154Sub - - -class BankAcctType159Sub(supermod.BankAcctType159): - def __init__(self, BankAcctName=None, BankAcctNumber=None, **kwargs_): - super(BankAcctType159Sub, self).__init__(BankAcctName, BankAcctNumber, **kwargs_) -supermod.BankAcctType159.subclass = BankAcctType159Sub -# end class BankAcctType159Sub - - -class BankAcctNumberType160Sub(supermod.BankAcctNumberType160): - def __init__(self, Mask=None, PlainText=None, **kwargs_): - super(BankAcctNumberType160Sub, self).__init__(Mask, PlainText, **kwargs_) -supermod.BankAcctNumberType160.subclass = BankAcctNumberType160Sub -# end class BankAcctNumberType160Sub - - -class VoucherType162Sub(supermod.VoucherType162): - def __init__(self, ElectronicIndicator=None, Identifier=None, **kwargs_): - super(VoucherType162Sub, self).__init__(ElectronicIndicator, Identifier, **kwargs_) -supermod.VoucherType162.subclass = VoucherType162Sub -# end class VoucherType162Sub - - -class AmountPercentType164Sub(supermod.AmountPercentType164): - def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): - super(AmountPercentType164Sub, self).__init__(Amount, CurrencyCode, **kwargs_) -supermod.AmountPercentType164.subclass = AmountPercentType164Sub -# end class AmountPercentType164Sub - - -class CancelPenaltiesType165Sub(supermod.CancelPenaltiesType165): - def __init__(self, CancelPenalty=None, **kwargs_): - super(CancelPenaltiesType165Sub, self).__init__(CancelPenalty, **kwargs_) -supermod.CancelPenaltiesType165.subclass = CancelPenaltiesType165Sub -# end class CancelPenaltiesType165Sub - - -class CancelPenaltyType166Sub(supermod.CancelPenaltyType166): - def __init__(self, PenaltyDescription=None, **kwargs_): - super(CancelPenaltyType166Sub, self).__init__(PenaltyDescription, **kwargs_) -supermod.CancelPenaltyType166.subclass = CancelPenaltyType166Sub -# end class CancelPenaltyType166Sub - - -class PenaltyDescriptionType167Sub(supermod.PenaltyDescriptionType167): - def __init__(self, Text=None, **kwargs_): - super(PenaltyDescriptionType167Sub, self).__init__(Text, **kwargs_) -supermod.PenaltyDescriptionType167.subclass = PenaltyDescriptionType167Sub -# end class PenaltyDescriptionType167Sub - - -class HotelReservationIDsType168Sub(supermod.HotelReservationIDsType168): - def __init__(self, HotelReservationID=None, **kwargs_): - super(HotelReservationIDsType168Sub, self).__init__(HotelReservationID, **kwargs_) -supermod.HotelReservationIDsType168.subclass = HotelReservationIDsType168Sub -# end class HotelReservationIDsType168Sub - - -class HotelReservationIDType169Sub(supermod.HotelReservationIDType169): - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, **kwargs_): - super(HotelReservationIDType169Sub, self).__init__(ResID_Type, ResID_Value, ResID_Source, ResID_SourceContext, **kwargs_) -supermod.HotelReservationIDType169.subclass = HotelReservationIDType169Sub -# end class HotelReservationIDType169Sub - - -class ProfilesType170Sub(supermod.ProfilesType170): - def __init__(self, ProfileInfo=None, **kwargs_): - super(ProfilesType170Sub, self).__init__(ProfileInfo, **kwargs_) -supermod.ProfilesType170.subclass = ProfilesType170Sub -# end class ProfilesType170Sub - - -class ProfileInfoType171Sub(supermod.ProfileInfoType171): - def __init__(self, Profile=None, **kwargs_): - super(ProfileInfoType171Sub, self).__init__(Profile, **kwargs_) -supermod.ProfileInfoType171.subclass = ProfileInfoType171Sub -# end class ProfileInfoType171Sub - - -class ProfileType172Sub(supermod.ProfileType172): - def __init__(self, ProfileType=None, CompanyInfo=None, **kwargs_): - super(ProfileType172Sub, self).__init__(ProfileType, CompanyInfo, **kwargs_) -supermod.ProfileType172.subclass = ProfileType172Sub -# end class ProfileType172Sub - - -class CompanyInfoType173Sub(supermod.CompanyInfoType173): - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, **kwargs_): - super(CompanyInfoType173Sub, self).__init__(CompanyName, AddressInfo, TelephoneInfo, Email, **kwargs_) -supermod.CompanyInfoType173.subclass = CompanyInfoType173Sub -# end class CompanyInfoType173Sub - - -class CompanyNameType174Sub(supermod.CompanyNameType174): - def __init__(self, Code=None, CodeContext=None, valueOf_=None, **kwargs_): - super(CompanyNameType174Sub, self).__init__(Code, CodeContext, valueOf_, **kwargs_) -supermod.CompanyNameType174.subclass = CompanyNameType174Sub -# end class CompanyNameType174Sub - - -class AddressInfoType175Sub(supermod.AddressInfoType175): - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): - super(AddressInfoType175Sub, self).__init__(AddressLine, CityName, PostalCode, CountryName, **kwargs_) -supermod.AddressInfoType175.subclass = AddressInfoType175Sub -# end class AddressInfoType175Sub - - -class CountryNameType176Sub(supermod.CountryNameType176): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType176Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType176.subclass = CountryNameType176Sub -# end class CountryNameType176Sub - - -class TelephoneInfoType178Sub(supermod.TelephoneInfoType178): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(TelephoneInfoType178Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.TelephoneInfoType178.subclass = TelephoneInfoType178Sub -# end class TelephoneInfoType178Sub - - -class BasicPropertyInfoType182Sub(supermod.BasicPropertyInfoType182): - def __init__(self, HotelCode=None, HotelName=None, **kwargs_): - super(BasicPropertyInfoType182Sub, self).__init__(HotelCode, HotelName, **kwargs_) -supermod.BasicPropertyInfoType182.subclass = BasicPropertyInfoType182Sub -# end class BasicPropertyInfoType182Sub - - -class WarningsType184Sub(supermod.WarningsType184): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType184Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType184.subclass = WarningsType184Sub -# end class WarningsType184Sub - - -class WarningType185Sub(supermod.WarningType185): - def __init__(self, Type=None, Code=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType185Sub, self).__init__(Type, Code, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType185.subclass = WarningType185Sub -# end class WarningType185Sub - - -class NotifDetailsTypeSub(supermod.NotifDetailsType): - def __init__(self, HotelNotifReport=None, **kwargs_): - super(NotifDetailsTypeSub, self).__init__(HotelNotifReport, **kwargs_) -supermod.NotifDetailsType.subclass = NotifDetailsTypeSub -# end class NotifDetailsTypeSub - - -class HotelNotifReportTypeSub(supermod.HotelNotifReportType): - def __init__(self, HotelReservations=None, **kwargs_): - super(HotelNotifReportTypeSub, self).__init__(HotelReservations, **kwargs_) -supermod.HotelNotifReportType.subclass = HotelNotifReportTypeSub -# end class HotelNotifReportTypeSub - - -class HotelReservationsType186Sub(supermod.HotelReservationsType186): - def __init__(self, HotelReservation=None, **kwargs_): - super(HotelReservationsType186Sub, self).__init__(HotelReservation, **kwargs_) -supermod.HotelReservationsType186.subclass = HotelReservationsType186Sub -# end class HotelReservationsType186Sub - - -class HotelReservationType187Sub(supermod.HotelReservationType187): - def __init__(self, UniqueID=None, **kwargs_): - super(HotelReservationType187Sub, self).__init__(UniqueID, **kwargs_) -supermod.HotelReservationType187.subclass = HotelReservationType187Sub -# end class HotelReservationType187Sub - - -class UniqueIDType188Sub(supermod.UniqueIDType188): - def __init__(self, Type=None, ID=None, **kwargs_): - super(UniqueIDType188Sub, self).__init__(Type, ID, **kwargs_) -supermod.UniqueIDType188.subclass = UniqueIDType188Sub -# end class UniqueIDType188Sub - - -class ErrorsType190Sub(supermod.ErrorsType190): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType190Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType190.subclass = ErrorsType190Sub -# end class ErrorsType190Sub - - -class ErrorType191Sub(supermod.ErrorType191): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType191Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType191.subclass = ErrorType191Sub -# end class ErrorType191Sub - - -class WarningsType193Sub(supermod.WarningsType193): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType193Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType193.subclass = WarningsType193Sub -# end class WarningsType193Sub - - -class WarningType194Sub(supermod.WarningType194): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType194Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType194.subclass = WarningType194Sub -# end class WarningType194Sub - - -class HotelDescriptiveContentsTypeSub(supermod.HotelDescriptiveContentsType): - def __init__(self, HotelDescriptiveContent=None, **kwargs_): - super(HotelDescriptiveContentsTypeSub, self).__init__(HotelDescriptiveContent, **kwargs_) -supermod.HotelDescriptiveContentsType.subclass = HotelDescriptiveContentsTypeSub -# end class HotelDescriptiveContentsTypeSub - - -class HotelDescriptiveContentTypeSub(supermod.HotelDescriptiveContentType): - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, **kwargs_): - super(HotelDescriptiveContentTypeSub, self).__init__(HotelCityCode, HotelCode, HotelName, AreaID, HotelInfo, FacilityInfo, Policies, AffiliationInfo, ContactInfos, **kwargs_) -supermod.HotelDescriptiveContentType.subclass = HotelDescriptiveContentTypeSub -# end class HotelDescriptiveContentTypeSub - - -class HotelInfoTypeSub(supermod.HotelInfoType): - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, **kwargs_): - super(HotelInfoTypeSub, self).__init__(HotelStatusCode, CategoryCodes, Descriptions, Position, Services, **kwargs_) -supermod.HotelInfoType.subclass = HotelInfoTypeSub -# end class HotelInfoTypeSub - - -class CategoryCodesTypeSub(supermod.CategoryCodesType): - def __init__(self, HotelCategory=None, **kwargs_): - super(CategoryCodesTypeSub, self).__init__(HotelCategory, **kwargs_) -supermod.CategoryCodesType.subclass = CategoryCodesTypeSub -# end class CategoryCodesTypeSub - - -class HotelCategoryTypeSub(supermod.HotelCategoryType): - def __init__(self, Code=None, CodeDetail=None, **kwargs_): - super(HotelCategoryTypeSub, self).__init__(Code, CodeDetail, **kwargs_) -supermod.HotelCategoryType.subclass = HotelCategoryTypeSub -# end class HotelCategoryTypeSub - - -class DescriptionsTypeSub(supermod.DescriptionsType): - def __init__(self, MultimediaDescriptions=None, **kwargs_): - super(DescriptionsTypeSub, self).__init__(MultimediaDescriptions, **kwargs_) -supermod.DescriptionsType.subclass = DescriptionsTypeSub -# end class DescriptionsTypeSub - - -class MultimediaDescriptionsTypeSub(supermod.MultimediaDescriptionsType): - def __init__(self, MultimediaDescription=None, **kwargs_): - super(MultimediaDescriptionsTypeSub, self).__init__(MultimediaDescription, **kwargs_) -supermod.MultimediaDescriptionsType.subclass = MultimediaDescriptionsTypeSub -# end class MultimediaDescriptionsTypeSub - - -class MultimediaDescriptionTypeSub(supermod.MultimediaDescriptionType): - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, **kwargs_): - super(MultimediaDescriptionTypeSub, self).__init__(InfoCode, TextItems, ImageItems, VideoItems, **kwargs_) -supermod.MultimediaDescriptionType.subclass = MultimediaDescriptionTypeSub -# end class MultimediaDescriptionTypeSub - - -class TextItemsTypeSub(supermod.TextItemsType): - def __init__(self, TextItem=None, **kwargs_): - super(TextItemsTypeSub, self).__init__(TextItem, **kwargs_) -supermod.TextItemsType.subclass = TextItemsTypeSub -# end class TextItemsTypeSub - - -class TextItemTypeSub(supermod.TextItemType): - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, **kwargs_): - super(TextItemTypeSub, self).__init__(SourceID, CopyrightNotice, Description, **kwargs_) -supermod.TextItemType.subclass = TextItemTypeSub -# end class TextItemTypeSub - - -class DescriptionTypeSub(supermod.DescriptionType): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionTypeSub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType.subclass = DescriptionTypeSub -# end class DescriptionTypeSub - - -class ImageItemsTypeSub(supermod.ImageItemsType): - def __init__(self, ImageItem=None, **kwargs_): - super(ImageItemsTypeSub, self).__init__(ImageItem, **kwargs_) -supermod.ImageItemsType.subclass = ImageItemsTypeSub -# end class ImageItemsTypeSub - - -class ImageItemTypeSub(supermod.ImageItemType): - def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): - super(ImageItemTypeSub, self).__init__(Category, ImageFormat, Description, **kwargs_) -supermod.ImageItemType.subclass = ImageItemTypeSub -# end class ImageItemTypeSub - - -class ImageFormatTypeSub(supermod.ImageFormatType): - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, **kwargs_): - super(ImageFormatTypeSub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, ApplicableEnd, URL, **kwargs_) -supermod.ImageFormatType.subclass = ImageFormatTypeSub -# end class ImageFormatTypeSub - - -class DescriptionType197Sub(supermod.DescriptionType197): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType197Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType197.subclass = DescriptionType197Sub -# end class DescriptionType197Sub - - -class VideoItemsTypeSub(supermod.VideoItemsType): - def __init__(self, VideoItem=None, **kwargs_): - super(VideoItemsTypeSub, self).__init__(VideoItem, **kwargs_) -supermod.VideoItemsType.subclass = VideoItemsTypeSub -# end class VideoItemsTypeSub - - -class VideoItemTypeSub(supermod.VideoItemType): - def __init__(self, Category=None, VideoFormat=None, Description=None, **kwargs_): - super(VideoItemTypeSub, self).__init__(Category, VideoFormat, Description, **kwargs_) -supermod.VideoItemType.subclass = VideoItemTypeSub -# end class VideoItemTypeSub - - -class VideoFormatTypeSub(supermod.VideoFormatType): - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, **kwargs_): - super(VideoFormatTypeSub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, URL, **kwargs_) -supermod.VideoFormatType.subclass = VideoFormatTypeSub -# end class VideoFormatTypeSub - - -class DescriptionType202Sub(supermod.DescriptionType202): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType202Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType202.subclass = DescriptionType202Sub -# end class DescriptionType202Sub - - -class PositionTypeSub(supermod.PositionType): - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, **kwargs_): - super(PositionTypeSub, self).__init__(Altitude, AltitudeUnitOfMeasureCode, Latitude, Longitude, **kwargs_) -supermod.PositionType.subclass = PositionTypeSub -# end class PositionTypeSub - - -class ServicesType206Sub(supermod.ServicesType206): - def __init__(self, Service=None, **kwargs_): - super(ServicesType206Sub, self).__init__(Service, **kwargs_) -supermod.ServicesType206.subclass = ServicesType206Sub -# end class ServicesType206Sub - - -class ServiceType207Sub(supermod.ServiceType207): - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, **kwargs_): - super(ServiceType207Sub, self).__init__(Code, MealPlanCode, ProximityCode, Included, Features, **kwargs_) -supermod.ServiceType207.subclass = ServiceType207Sub -# end class ServiceType207Sub - - -class FeaturesTypeSub(supermod.FeaturesType): - def __init__(self, Feature=None, **kwargs_): - super(FeaturesTypeSub, self).__init__(Feature, **kwargs_) -supermod.FeaturesType.subclass = FeaturesTypeSub -# end class FeaturesTypeSub - - -class FeatureTypeSub(supermod.FeatureType): - def __init__(self, AccessibleCode=None, **kwargs_): - super(FeatureTypeSub, self).__init__(AccessibleCode, **kwargs_) -supermod.FeatureType.subclass = FeatureTypeSub -# end class FeatureTypeSub - - -class FacilityInfoTypeSub(supermod.FacilityInfoType): - def __init__(self, GuestRooms=None, **kwargs_): - super(FacilityInfoTypeSub, self).__init__(GuestRooms, **kwargs_) -supermod.FacilityInfoType.subclass = FacilityInfoTypeSub -# end class FacilityInfoTypeSub - - -class GuestRoomsTypeSub(supermod.GuestRoomsType): - def __init__(self, GuestRoom=None, **kwargs_): - super(GuestRoomsTypeSub, self).__init__(GuestRoom, **kwargs_) -supermod.GuestRoomsType.subclass = GuestRoomsTypeSub -# end class GuestRoomsTypeSub - - -class GuestRoomTypeSub(supermod.GuestRoomType): - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, **kwargs_): - super(GuestRoomTypeSub, self).__init__(Code, MaxOccupancy, MinOccupancy, MaxChildOccupancy, ID, TypeRoom, Amenities, MultimediaDescriptions, **kwargs_) -supermod.GuestRoomType.subclass = GuestRoomTypeSub -# end class GuestRoomTypeSub - - -class TypeRoomTypeSub(supermod.TypeRoomType): - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, **kwargs_): - super(TypeRoomTypeSub, self).__init__(StandardOccupancy, RoomClassificationCode, RoomID, Size, RoomType, **kwargs_) -supermod.TypeRoomType.subclass = TypeRoomTypeSub -# end class TypeRoomTypeSub - - -class AmenitiesTypeSub(supermod.AmenitiesType): - def __init__(self, Amenity=None, **kwargs_): - super(AmenitiesTypeSub, self).__init__(Amenity, **kwargs_) -supermod.AmenitiesType.subclass = AmenitiesTypeSub -# end class AmenitiesTypeSub - - -class AmenityTypeSub(supermod.AmenityType): - def __init__(self, RoomAmenityCode=None, **kwargs_): - super(AmenityTypeSub, self).__init__(RoomAmenityCode, **kwargs_) -supermod.AmenityType.subclass = AmenityTypeSub -# end class AmenityTypeSub - - -class MultimediaDescriptionsType209Sub(supermod.MultimediaDescriptionsType209): - def __init__(self, MultimediaDescription=None, **kwargs_): - super(MultimediaDescriptionsType209Sub, self).__init__(MultimediaDescription, **kwargs_) -supermod.MultimediaDescriptionsType209.subclass = MultimediaDescriptionsType209Sub -# end class MultimediaDescriptionsType209Sub - - -class MultimediaDescriptionType210Sub(supermod.MultimediaDescriptionType210): - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, **kwargs_): - super(MultimediaDescriptionType210Sub, self).__init__(InfoCode, TextItems, ImageItems, **kwargs_) -supermod.MultimediaDescriptionType210.subclass = MultimediaDescriptionType210Sub -# end class MultimediaDescriptionType210Sub - - -class TextItemsType211Sub(supermod.TextItemsType211): - def __init__(self, TextItem=None, **kwargs_): - super(TextItemsType211Sub, self).__init__(TextItem, **kwargs_) -supermod.TextItemsType211.subclass = TextItemsType211Sub -# end class TextItemsType211Sub - - -class TextItemType212Sub(supermod.TextItemType212): - def __init__(self, Description=None, **kwargs_): - super(TextItemType212Sub, self).__init__(Description, **kwargs_) -supermod.TextItemType212.subclass = TextItemType212Sub -# end class TextItemType212Sub - - -class DescriptionType213Sub(supermod.DescriptionType213): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType213Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType213.subclass = DescriptionType213Sub -# end class DescriptionType213Sub - - -class ImageItemsType216Sub(supermod.ImageItemsType216): - def __init__(self, ImageItem=None, **kwargs_): - super(ImageItemsType216Sub, self).__init__(ImageItem, **kwargs_) -supermod.ImageItemsType216.subclass = ImageItemsType216Sub -# end class ImageItemsType216Sub - - -class ImageItemType217Sub(supermod.ImageItemType217): - def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): - super(ImageItemType217Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) -supermod.ImageItemType217.subclass = ImageItemType217Sub -# end class ImageItemType217Sub - - -class ImageFormatType218Sub(supermod.ImageFormatType218): - def __init__(self, CopyrightNotice=None, URL=None, **kwargs_): - super(ImageFormatType218Sub, self).__init__(CopyrightNotice, URL, **kwargs_) -supermod.ImageFormatType218.subclass = ImageFormatType218Sub -# end class ImageFormatType218Sub - - -class DescriptionType219Sub(supermod.DescriptionType219): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType219Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType219.subclass = DescriptionType219Sub -# end class DescriptionType219Sub - - -class PoliciesTypeSub(supermod.PoliciesType): - def __init__(self, Policy=None, **kwargs_): - super(PoliciesTypeSub, self).__init__(Policy, **kwargs_) -supermod.PoliciesType.subclass = PoliciesTypeSub -# end class PoliciesTypeSub - - -class PolicyTypeSub(supermod.PolicyType): - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, **kwargs_): - super(PolicyTypeSub, self).__init__(CancelPolicy, CheckoutCharges, PetsPolicies, TaxPolicies, GuaranteePaymentPolicy, PolicyInfo, StayRequirements, **kwargs_) -supermod.PolicyType.subclass = PolicyTypeSub -# end class PolicyTypeSub - - -class CancelPolicyTypeSub(supermod.CancelPolicyType): - def __init__(self, CancelPenalty=None, **kwargs_): - super(CancelPolicyTypeSub, self).__init__(CancelPenalty, **kwargs_) -supermod.CancelPolicyType.subclass = CancelPolicyTypeSub -# end class CancelPolicyTypeSub - - -class CancelPenaltyType223Sub(supermod.CancelPenaltyType223): - def __init__(self, PenaltyDescription=None, **kwargs_): - super(CancelPenaltyType223Sub, self).__init__(PenaltyDescription, **kwargs_) -supermod.CancelPenaltyType223.subclass = CancelPenaltyType223Sub -# end class CancelPenaltyType223Sub - - -class PenaltyDescriptionType224Sub(supermod.PenaltyDescriptionType224): - def __init__(self, Text=None, **kwargs_): - super(PenaltyDescriptionType224Sub, self).__init__(Text, **kwargs_) -supermod.PenaltyDescriptionType224.subclass = PenaltyDescriptionType224Sub -# end class PenaltyDescriptionType224Sub - - -class TextType225Sub(supermod.TextType225): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType225Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType225.subclass = TextType225Sub -# end class TextType225Sub - - -class CheckoutChargesTypeSub(supermod.CheckoutChargesType): - def __init__(self, CheckoutCharge=None, **kwargs_): - super(CheckoutChargesTypeSub, self).__init__(CheckoutCharge, **kwargs_) -supermod.CheckoutChargesType.subclass = CheckoutChargesTypeSub -# end class CheckoutChargesTypeSub - - -class CheckoutChargeTypeSub(supermod.CheckoutChargeType): - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): - super(CheckoutChargeTypeSub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Description, **kwargs_) -supermod.CheckoutChargeType.subclass = CheckoutChargeTypeSub -# end class CheckoutChargeTypeSub - - -class DescriptionType228Sub(supermod.DescriptionType228): - def __init__(self, Text=None, **kwargs_): - super(DescriptionType228Sub, self).__init__(Text, **kwargs_) -supermod.DescriptionType228.subclass = DescriptionType228Sub -# end class DescriptionType228Sub - - -class TextType229Sub(supermod.TextType229): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType229Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType229.subclass = TextType229Sub -# end class TextType229Sub - - -class PetsPoliciesTypeSub(supermod.PetsPoliciesType): - def __init__(self, PetsPolicy=None, **kwargs_): - super(PetsPoliciesTypeSub, self).__init__(PetsPolicy, **kwargs_) -supermod.PetsPoliciesType.subclass = PetsPoliciesTypeSub -# end class PetsPoliciesTypeSub - - -class PetsPolicyTypeSub(supermod.PetsPolicyType): - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): - super(PetsPolicyTypeSub, self).__init__(MaxPetQuantity, NonRefundableFee, ChargeCode, CurrencyCode, DecimalPlaces, Description, **kwargs_) -supermod.PetsPolicyType.subclass = PetsPolicyTypeSub -# end class PetsPolicyTypeSub - - -class DescriptionType232Sub(supermod.DescriptionType232): - def __init__(self, Text=None, **kwargs_): - super(DescriptionType232Sub, self).__init__(Text, **kwargs_) -supermod.DescriptionType232.subclass = DescriptionType232Sub -# end class DescriptionType232Sub - - -class TextType233Sub(supermod.TextType233): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType233Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType233.subclass = TextType233Sub -# end class TextType233Sub - - -class TaxPoliciesTypeSub(supermod.TaxPoliciesType): - def __init__(self, TaxPolicy=None, **kwargs_): - super(TaxPoliciesTypeSub, self).__init__(TaxPolicy, **kwargs_) -supermod.TaxPoliciesType.subclass = TaxPoliciesTypeSub -# end class TaxPoliciesTypeSub - - -class TaxPolicyTypeSub(supermod.TaxPolicyType): - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, **kwargs_): - super(TaxPolicyTypeSub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Code, ChargeFrequency, ChargeUnit, TaxDescription, **kwargs_) -supermod.TaxPolicyType.subclass = TaxPolicyTypeSub -# end class TaxPolicyTypeSub - - -class TaxDescriptionTypeSub(supermod.TaxDescriptionType): - def __init__(self, Text=None, **kwargs_): - super(TaxDescriptionTypeSub, self).__init__(Text, **kwargs_) -supermod.TaxDescriptionType.subclass = TaxDescriptionTypeSub -# end class TaxDescriptionTypeSub - - -class TextType236Sub(supermod.TextType236): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType236Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType236.subclass = TextType236Sub -# end class TextType236Sub - - -class GuaranteePaymentPolicyTypeSub(supermod.GuaranteePaymentPolicyType): - def __init__(self, GuaranteePayment=None, **kwargs_): - super(GuaranteePaymentPolicyTypeSub, self).__init__(GuaranteePayment, **kwargs_) -supermod.GuaranteePaymentPolicyType.subclass = GuaranteePaymentPolicyTypeSub -# end class GuaranteePaymentPolicyTypeSub - - -class GuaranteePaymentType240Sub(supermod.GuaranteePaymentType240): - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, **kwargs_): - super(GuaranteePaymentType240Sub, self).__init__(AcceptedPayments, AmountPercent, Deadline, **kwargs_) -supermod.GuaranteePaymentType240.subclass = GuaranteePaymentType240Sub -# end class GuaranteePaymentType240Sub - - -class AcceptedPaymentsType241Sub(supermod.AcceptedPaymentsType241): - def __init__(self, AcceptedPayment=None, **kwargs_): - super(AcceptedPaymentsType241Sub, self).__init__(AcceptedPayment, **kwargs_) -supermod.AcceptedPaymentsType241.subclass = AcceptedPaymentsType241Sub -# end class AcceptedPaymentsType241Sub - - -class AcceptedPaymentType242Sub(supermod.AcceptedPaymentType242): - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, **kwargs_): - super(AcceptedPaymentType242Sub, self).__init__(BankAcct, Cash, PaymentCard, **kwargs_) -supermod.AcceptedPaymentType242.subclass = AcceptedPaymentType242Sub -# end class AcceptedPaymentType242Sub - - -class BankAcctType243Sub(supermod.BankAcctType243): - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, **kwargs_): - super(BankAcctType243Sub, self).__init__(BankAcctName, BankAcctNumber, BankID, **kwargs_) -supermod.BankAcctType243.subclass = BankAcctType243Sub -# end class BankAcctType243Sub - - -class BankAcctNameTypeSub(supermod.BankAcctNameType): - def __init__(self, valueOf_=None, **kwargs_): - super(BankAcctNameTypeSub, self).__init__(valueOf_, **kwargs_) -supermod.BankAcctNameType.subclass = BankAcctNameTypeSub -# end class BankAcctNameTypeSub - - -class BankAcctNumberType244Sub(supermod.BankAcctNumberType244): - def __init__(self, PlainText=None, **kwargs_): - super(BankAcctNumberType244Sub, self).__init__(PlainText, **kwargs_) -supermod.BankAcctNumberType244.subclass = BankAcctNumberType244Sub -# end class BankAcctNumberType244Sub - - -class PlainTextTypeSub(supermod.PlainTextType): - def __init__(self, valueOf_=None, **kwargs_): - super(PlainTextTypeSub, self).__init__(valueOf_, **kwargs_) -supermod.PlainTextType.subclass = PlainTextTypeSub -# end class PlainTextTypeSub - - -class BankIDTypeSub(supermod.BankIDType): - def __init__(self, PlainText=None, **kwargs_): - super(BankIDTypeSub, self).__init__(PlainText, **kwargs_) -supermod.BankIDType.subclass = BankIDTypeSub -# end class BankIDTypeSub - - -class PlainTextType245Sub(supermod.PlainTextType245): - def __init__(self, valueOf_=None, **kwargs_): - super(PlainTextType245Sub, self).__init__(valueOf_, **kwargs_) -supermod.PlainTextType245.subclass = PlainTextType245Sub -# end class PlainTextType245Sub - - -class CashTypeSub(supermod.CashType): - def __init__(self, CashIndicator=None, **kwargs_): - super(CashTypeSub, self).__init__(CashIndicator, **kwargs_) -supermod.CashType.subclass = CashTypeSub -# end class CashTypeSub - - -class PaymentCardType246Sub(supermod.PaymentCardType246): - def __init__(self, CardCode=None, CardType=None, **kwargs_): - super(PaymentCardType246Sub, self).__init__(CardCode, CardType, **kwargs_) -supermod.PaymentCardType246.subclass = PaymentCardType246Sub -# end class PaymentCardType246Sub - - -class CardTypeTypeSub(supermod.CardTypeType): - def __init__(self, valueOf_=None, **kwargs_): - super(CardTypeTypeSub, self).__init__(valueOf_, **kwargs_) -supermod.CardTypeType.subclass = CardTypeTypeSub -# end class CardTypeTypeSub - - -class AmountPercentType247Sub(supermod.AmountPercentType247): - def __init__(self, Percent=None, **kwargs_): - super(AmountPercentType247Sub, self).__init__(Percent, **kwargs_) -supermod.AmountPercentType247.subclass = AmountPercentType247Sub -# end class AmountPercentType247Sub - - -class DeadlineTypeSub(supermod.DeadlineType): - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, **kwargs_): - super(DeadlineTypeSub, self).__init__(OffsetDropTime, OffsetTimeUnit, OffsetUnitMultiplier, **kwargs_) -supermod.DeadlineType.subclass = DeadlineTypeSub -# end class DeadlineTypeSub - - -class PolicyInfoTypeSub(supermod.PolicyInfoType): - def __init__(self, MinGuestAge=None, **kwargs_): - super(PolicyInfoTypeSub, self).__init__(MinGuestAge, **kwargs_) -supermod.PolicyInfoType.subclass = PolicyInfoTypeSub -# end class PolicyInfoTypeSub - - -class StayRequirementsTypeSub(supermod.StayRequirementsType): - def __init__(self, StayRequirement=None, **kwargs_): - super(StayRequirementsTypeSub, self).__init__(StayRequirement, **kwargs_) -supermod.StayRequirementsType.subclass = StayRequirementsTypeSub -# end class StayRequirementsTypeSub - - -class StayRequirementTypeSub(supermod.StayRequirementType): - def __init__(self, StayContext=None, Start=None, End=None, **kwargs_): - super(StayRequirementTypeSub, self).__init__(StayContext, Start, End, **kwargs_) -supermod.StayRequirementType.subclass = StayRequirementTypeSub -# end class StayRequirementTypeSub - - -class AffiliationInfoTypeSub(supermod.AffiliationInfoType): - def __init__(self, Awards=None, **kwargs_): - super(AffiliationInfoTypeSub, self).__init__(Awards, **kwargs_) -supermod.AffiliationInfoType.subclass = AffiliationInfoTypeSub -# end class AffiliationInfoTypeSub - - -class AwardsTypeSub(supermod.AwardsType): - def __init__(self, Award=None, **kwargs_): - super(AwardsTypeSub, self).__init__(Award, **kwargs_) -supermod.AwardsType.subclass = AwardsTypeSub -# end class AwardsTypeSub - - -class AwardTypeSub(supermod.AwardType): - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, **kwargs_): - super(AwardTypeSub, self).__init__(Rating, Provider, RatingSymbol, OfficialAppointmentInd, **kwargs_) -supermod.AwardType.subclass = AwardTypeSub -# end class AwardTypeSub - - -class ContactInfosTypeSub(supermod.ContactInfosType): - def __init__(self, ContactInfo=None, **kwargs_): - super(ContactInfosTypeSub, self).__init__(ContactInfo, **kwargs_) -supermod.ContactInfosType.subclass = ContactInfosTypeSub -# end class ContactInfosTypeSub - - -class ContactInfoTypeSub(supermod.ContactInfoType): - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, **kwargs_): - super(ContactInfoTypeSub, self).__init__(Location, Addresses, Phones, Emails, URLs, CompanyName, **kwargs_) -supermod.ContactInfoType.subclass = ContactInfoTypeSub -# end class ContactInfoTypeSub - - -class AddressesTypeSub(supermod.AddressesType): - def __init__(self, Address=None, **kwargs_): - super(AddressesTypeSub, self).__init__(Address, **kwargs_) -supermod.AddressesType.subclass = AddressesTypeSub -# end class AddressesTypeSub - - -class AddressType248Sub(supermod.AddressType248): - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, **kwargs_): - super(AddressType248Sub, self).__init__(Language, AddressLine, CityName, PostalCode, StateProv, CountryName, **kwargs_) -supermod.AddressType248.subclass = AddressType248Sub -# end class AddressType248Sub - - -class StateProvTypeSub(supermod.StateProvType): - def __init__(self, StateCode=None, **kwargs_): - super(StateProvTypeSub, self).__init__(StateCode, **kwargs_) -supermod.StateProvType.subclass = StateProvTypeSub -# end class StateProvTypeSub - - -class CountryNameType249Sub(supermod.CountryNameType249): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType249Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType249.subclass = CountryNameType249Sub -# end class CountryNameType249Sub - - -class PhonesTypeSub(supermod.PhonesType): - def __init__(self, Phone=None, **kwargs_): - super(PhonesTypeSub, self).__init__(Phone, **kwargs_) -supermod.PhonesType.subclass = PhonesTypeSub -# end class PhonesTypeSub - - -class PhoneTypeSub(supermod.PhoneType): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(PhoneTypeSub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.PhoneType.subclass = PhoneTypeSub -# end class PhoneTypeSub - - -class EmailsTypeSub(supermod.EmailsType): - def __init__(self, Email=None, **kwargs_): - super(EmailsTypeSub, self).__init__(Email, **kwargs_) -supermod.EmailsType.subclass = EmailsTypeSub -# end class EmailsTypeSub - - -class EmailType253Sub(supermod.EmailType253): - def __init__(self, EmailType=None, valueOf_=None, **kwargs_): - super(EmailType253Sub, self).__init__(EmailType, valueOf_, **kwargs_) -supermod.EmailType253.subclass = EmailType253Sub -# end class EmailType253Sub - - -class URLsTypeSub(supermod.URLsType): - def __init__(self, URL=None, **kwargs_): - super(URLsTypeSub, self).__init__(URL, **kwargs_) -supermod.URLsType.subclass = URLsTypeSub -# end class URLsTypeSub - - -class URLType254Sub(supermod.URLType254): - def __init__(self, ID=None, valueOf_=None, **kwargs_): - super(URLType254Sub, self).__init__(ID, valueOf_, **kwargs_) -supermod.URLType254.subclass = URLType254Sub -# end class URLType254Sub - - -class CompanyNameType255Sub(supermod.CompanyNameType255): - def __init__(self, valueOf_=None, **kwargs_): - super(CompanyNameType255Sub, self).__init__(valueOf_, **kwargs_) -supermod.CompanyNameType255.subclass = CompanyNameType255Sub -# end class CompanyNameType255Sub - - -class ErrorsType257Sub(supermod.ErrorsType257): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType257Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType257.subclass = ErrorsType257Sub -# end class ErrorsType257Sub - - -class ErrorType258Sub(supermod.ErrorType258): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType258Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType258.subclass = ErrorType258Sub -# end class ErrorType258Sub - - -class WarningsType260Sub(supermod.WarningsType260): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType260Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType260.subclass = WarningsType260Sub -# end class WarningsType260Sub - - -class WarningType261Sub(supermod.WarningType261): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType261Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType261.subclass = WarningType261Sub -# end class WarningType261Sub - - -class HotelDescriptiveInfosTypeSub(supermod.HotelDescriptiveInfosType): - def __init__(self, HotelDescriptiveInfo=None, **kwargs_): - super(HotelDescriptiveInfosTypeSub, self).__init__(HotelDescriptiveInfo, **kwargs_) -supermod.HotelDescriptiveInfosType.subclass = HotelDescriptiveInfosTypeSub -# end class HotelDescriptiveInfosTypeSub - - -class HotelDescriptiveInfoTypeSub(supermod.HotelDescriptiveInfoType): - def __init__(self, HotelCode=None, HotelName=None, **kwargs_): - super(HotelDescriptiveInfoTypeSub, self).__init__(HotelCode, HotelName, **kwargs_) -supermod.HotelDescriptiveInfoType.subclass = HotelDescriptiveInfoTypeSub -# end class HotelDescriptiveInfoTypeSub - - -class ErrorsType262Sub(supermod.ErrorsType262): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType262Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType262.subclass = ErrorsType262Sub -# end class ErrorsType262Sub - - -class ErrorType263Sub(supermod.ErrorType263): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType263Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType263.subclass = ErrorType263Sub -# end class ErrorType263Sub - - -class WarningsType265Sub(supermod.WarningsType265): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType265Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType265.subclass = WarningsType265Sub -# end class WarningsType265Sub - - -class WarningType266Sub(supermod.WarningType266): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType266Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType266.subclass = WarningType266Sub -# end class WarningType266Sub - - -class HotelDescriptiveContentsType267Sub(supermod.HotelDescriptiveContentsType267): - def __init__(self, HotelDescriptiveContent=None, **kwargs_): - super(HotelDescriptiveContentsType267Sub, self).__init__(HotelDescriptiveContent, **kwargs_) -supermod.HotelDescriptiveContentsType267.subclass = HotelDescriptiveContentsType267Sub -# end class HotelDescriptiveContentsType267Sub - - -class HotelDescriptiveContentType268Sub(supermod.HotelDescriptiveContentType268): - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, **kwargs_): - super(HotelDescriptiveContentType268Sub, self).__init__(HotelCityCode, HotelCode, HotelName, AreaID, HotelInfo, FacilityInfo, Policies, AffiliationInfo, ContactInfos, **kwargs_) -supermod.HotelDescriptiveContentType268.subclass = HotelDescriptiveContentType268Sub -# end class HotelDescriptiveContentType268Sub - - -class HotelInfoType269Sub(supermod.HotelInfoType269): - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, **kwargs_): - super(HotelInfoType269Sub, self).__init__(HotelStatusCode, CategoryCodes, Descriptions, Position, Services, **kwargs_) -supermod.HotelInfoType269.subclass = HotelInfoType269Sub -# end class HotelInfoType269Sub - - -class CategoryCodesType270Sub(supermod.CategoryCodesType270): - def __init__(self, HotelCategory=None, **kwargs_): - super(CategoryCodesType270Sub, self).__init__(HotelCategory, **kwargs_) -supermod.CategoryCodesType270.subclass = CategoryCodesType270Sub -# end class CategoryCodesType270Sub - - -class HotelCategoryType271Sub(supermod.HotelCategoryType271): - def __init__(self, Code=None, CodeDetail=None, **kwargs_): - super(HotelCategoryType271Sub, self).__init__(Code, CodeDetail, **kwargs_) -supermod.HotelCategoryType271.subclass = HotelCategoryType271Sub -# end class HotelCategoryType271Sub - - -class DescriptionsType272Sub(supermod.DescriptionsType272): - def __init__(self, MultimediaDescriptions=None, **kwargs_): - super(DescriptionsType272Sub, self).__init__(MultimediaDescriptions, **kwargs_) -supermod.DescriptionsType272.subclass = DescriptionsType272Sub -# end class DescriptionsType272Sub - - -class MultimediaDescriptionsType273Sub(supermod.MultimediaDescriptionsType273): - def __init__(self, MultimediaDescription=None, **kwargs_): - super(MultimediaDescriptionsType273Sub, self).__init__(MultimediaDescription, **kwargs_) -supermod.MultimediaDescriptionsType273.subclass = MultimediaDescriptionsType273Sub -# end class MultimediaDescriptionsType273Sub - - -class MultimediaDescriptionType274Sub(supermod.MultimediaDescriptionType274): - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, **kwargs_): - super(MultimediaDescriptionType274Sub, self).__init__(InfoCode, TextItems, ImageItems, VideoItems, **kwargs_) -supermod.MultimediaDescriptionType274.subclass = MultimediaDescriptionType274Sub -# end class MultimediaDescriptionType274Sub - - -class TextItemsType275Sub(supermod.TextItemsType275): - def __init__(self, TextItem=None, **kwargs_): - super(TextItemsType275Sub, self).__init__(TextItem, **kwargs_) -supermod.TextItemsType275.subclass = TextItemsType275Sub -# end class TextItemsType275Sub - - -class TextItemType276Sub(supermod.TextItemType276): - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, **kwargs_): - super(TextItemType276Sub, self).__init__(SourceID, CopyrightNotice, Description, **kwargs_) -supermod.TextItemType276.subclass = TextItemType276Sub -# end class TextItemType276Sub - - -class DescriptionType277Sub(supermod.DescriptionType277): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType277Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType277.subclass = DescriptionType277Sub -# end class DescriptionType277Sub - - -class ImageItemsType280Sub(supermod.ImageItemsType280): - def __init__(self, ImageItem=None, **kwargs_): - super(ImageItemsType280Sub, self).__init__(ImageItem, **kwargs_) -supermod.ImageItemsType280.subclass = ImageItemsType280Sub -# end class ImageItemsType280Sub - - -class ImageItemType281Sub(supermod.ImageItemType281): - def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): - super(ImageItemType281Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) -supermod.ImageItemType281.subclass = ImageItemType281Sub -# end class ImageItemType281Sub - - -class ImageFormatType282Sub(supermod.ImageFormatType282): - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, **kwargs_): - super(ImageFormatType282Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, ApplicableEnd, URL, **kwargs_) -supermod.ImageFormatType282.subclass = ImageFormatType282Sub -# end class ImageFormatType282Sub - - -class DescriptionType285Sub(supermod.DescriptionType285): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType285Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType285.subclass = DescriptionType285Sub -# end class DescriptionType285Sub - - -class VideoItemsType289Sub(supermod.VideoItemsType289): - def __init__(self, VideoItem=None, **kwargs_): - super(VideoItemsType289Sub, self).__init__(VideoItem, **kwargs_) -supermod.VideoItemsType289.subclass = VideoItemsType289Sub -# end class VideoItemsType289Sub - - -class VideoItemType290Sub(supermod.VideoItemType290): - def __init__(self, Category=None, VideoFormat=None, Description=None, **kwargs_): - super(VideoItemType290Sub, self).__init__(Category, VideoFormat, Description, **kwargs_) -supermod.VideoItemType290.subclass = VideoItemType290Sub -# end class VideoItemType290Sub - - -class VideoFormatType291Sub(supermod.VideoFormatType291): - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, **kwargs_): - super(VideoFormatType291Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, URL, **kwargs_) -supermod.VideoFormatType291.subclass = VideoFormatType291Sub -# end class VideoFormatType291Sub - - -class DescriptionType293Sub(supermod.DescriptionType293): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType293Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType293.subclass = DescriptionType293Sub -# end class DescriptionType293Sub - - -class PositionType298Sub(supermod.PositionType298): - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, **kwargs_): - super(PositionType298Sub, self).__init__(Altitude, AltitudeUnitOfMeasureCode, Latitude, Longitude, **kwargs_) -supermod.PositionType298.subclass = PositionType298Sub -# end class PositionType298Sub - - -class ServicesType300Sub(supermod.ServicesType300): - def __init__(self, Service=None, **kwargs_): - super(ServicesType300Sub, self).__init__(Service, **kwargs_) -supermod.ServicesType300.subclass = ServicesType300Sub -# end class ServicesType300Sub - - -class ServiceType301Sub(supermod.ServiceType301): - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, **kwargs_): - super(ServiceType301Sub, self).__init__(Code, MealPlanCode, ProximityCode, Included, Features, **kwargs_) -supermod.ServiceType301.subclass = ServiceType301Sub -# end class ServiceType301Sub - - -class FeaturesType302Sub(supermod.FeaturesType302): - def __init__(self, Feature=None, **kwargs_): - super(FeaturesType302Sub, self).__init__(Feature, **kwargs_) -supermod.FeaturesType302.subclass = FeaturesType302Sub -# end class FeaturesType302Sub - - -class FeatureType303Sub(supermod.FeatureType303): - def __init__(self, AccessibleCode=None, **kwargs_): - super(FeatureType303Sub, self).__init__(AccessibleCode, **kwargs_) -supermod.FeatureType303.subclass = FeatureType303Sub -# end class FeatureType303Sub - - -class FacilityInfoType305Sub(supermod.FacilityInfoType305): - def __init__(self, GuestRooms=None, **kwargs_): - super(FacilityInfoType305Sub, self).__init__(GuestRooms, **kwargs_) -supermod.FacilityInfoType305.subclass = FacilityInfoType305Sub -# end class FacilityInfoType305Sub - - -class GuestRoomsType306Sub(supermod.GuestRoomsType306): - def __init__(self, GuestRoom=None, **kwargs_): - super(GuestRoomsType306Sub, self).__init__(GuestRoom, **kwargs_) -supermod.GuestRoomsType306.subclass = GuestRoomsType306Sub -# end class GuestRoomsType306Sub - - -class GuestRoomType307Sub(supermod.GuestRoomType307): - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, **kwargs_): - super(GuestRoomType307Sub, self).__init__(Code, MaxOccupancy, MinOccupancy, MaxChildOccupancy, ID, TypeRoom, Amenities, MultimediaDescriptions, **kwargs_) -supermod.GuestRoomType307.subclass = GuestRoomType307Sub -# end class GuestRoomType307Sub - - -class TypeRoomType308Sub(supermod.TypeRoomType308): - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, **kwargs_): - super(TypeRoomType308Sub, self).__init__(StandardOccupancy, RoomClassificationCode, RoomID, Size, RoomType, **kwargs_) -supermod.TypeRoomType308.subclass = TypeRoomType308Sub -# end class TypeRoomType308Sub - - -class AmenitiesType310Sub(supermod.AmenitiesType310): - def __init__(self, Amenity=None, **kwargs_): - super(AmenitiesType310Sub, self).__init__(Amenity, **kwargs_) -supermod.AmenitiesType310.subclass = AmenitiesType310Sub -# end class AmenitiesType310Sub - - -class AmenityType311Sub(supermod.AmenityType311): - def __init__(self, RoomAmenityCode=None, **kwargs_): - super(AmenityType311Sub, self).__init__(RoomAmenityCode, **kwargs_) -supermod.AmenityType311.subclass = AmenityType311Sub -# end class AmenityType311Sub - - -class MultimediaDescriptionsType312Sub(supermod.MultimediaDescriptionsType312): - def __init__(self, MultimediaDescription=None, **kwargs_): - super(MultimediaDescriptionsType312Sub, self).__init__(MultimediaDescription, **kwargs_) -supermod.MultimediaDescriptionsType312.subclass = MultimediaDescriptionsType312Sub -# end class MultimediaDescriptionsType312Sub - - -class MultimediaDescriptionType313Sub(supermod.MultimediaDescriptionType313): - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, **kwargs_): - super(MultimediaDescriptionType313Sub, self).__init__(InfoCode, TextItems, ImageItems, **kwargs_) -supermod.MultimediaDescriptionType313.subclass = MultimediaDescriptionType313Sub -# end class MultimediaDescriptionType313Sub - - -class TextItemsType314Sub(supermod.TextItemsType314): - def __init__(self, TextItem=None, **kwargs_): - super(TextItemsType314Sub, self).__init__(TextItem, **kwargs_) -supermod.TextItemsType314.subclass = TextItemsType314Sub -# end class TextItemsType314Sub - - -class TextItemType315Sub(supermod.TextItemType315): - def __init__(self, Description=None, **kwargs_): - super(TextItemType315Sub, self).__init__(Description, **kwargs_) -supermod.TextItemType315.subclass = TextItemType315Sub -# end class TextItemType315Sub - - -class DescriptionType316Sub(supermod.DescriptionType316): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType316Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType316.subclass = DescriptionType316Sub -# end class DescriptionType316Sub - - -class ImageItemsType319Sub(supermod.ImageItemsType319): - def __init__(self, ImageItem=None, **kwargs_): - super(ImageItemsType319Sub, self).__init__(ImageItem, **kwargs_) -supermod.ImageItemsType319.subclass = ImageItemsType319Sub -# end class ImageItemsType319Sub - - -class ImageItemType320Sub(supermod.ImageItemType320): - def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): - super(ImageItemType320Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) -supermod.ImageItemType320.subclass = ImageItemType320Sub -# end class ImageItemType320Sub - - -class ImageFormatType321Sub(supermod.ImageFormatType321): - def __init__(self, CopyrightNotice=None, URL=None, **kwargs_): - super(ImageFormatType321Sub, self).__init__(CopyrightNotice, URL, **kwargs_) -supermod.ImageFormatType321.subclass = ImageFormatType321Sub -# end class ImageFormatType321Sub - - -class DescriptionType322Sub(supermod.DescriptionType322): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType322Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType322.subclass = DescriptionType322Sub -# end class DescriptionType322Sub - - -class PoliciesType326Sub(supermod.PoliciesType326): - def __init__(self, Policy=None, **kwargs_): - super(PoliciesType326Sub, self).__init__(Policy, **kwargs_) -supermod.PoliciesType326.subclass = PoliciesType326Sub -# end class PoliciesType326Sub - - -class PolicyType327Sub(supermod.PolicyType327): - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, **kwargs_): - super(PolicyType327Sub, self).__init__(CancelPolicy, CheckoutCharges, PetsPolicies, TaxPolicies, GuaranteePaymentPolicy, PolicyInfo, StayRequirements, **kwargs_) -supermod.PolicyType327.subclass = PolicyType327Sub -# end class PolicyType327Sub - - -class CancelPolicyType328Sub(supermod.CancelPolicyType328): - def __init__(self, CancelPenalty=None, **kwargs_): - super(CancelPolicyType328Sub, self).__init__(CancelPenalty, **kwargs_) -supermod.CancelPolicyType328.subclass = CancelPolicyType328Sub -# end class CancelPolicyType328Sub - - -class CancelPenaltyType329Sub(supermod.CancelPenaltyType329): - def __init__(self, PenaltyDescription=None, **kwargs_): - super(CancelPenaltyType329Sub, self).__init__(PenaltyDescription, **kwargs_) -supermod.CancelPenaltyType329.subclass = CancelPenaltyType329Sub -# end class CancelPenaltyType329Sub - - -class PenaltyDescriptionType330Sub(supermod.PenaltyDescriptionType330): - def __init__(self, Text=None, **kwargs_): - super(PenaltyDescriptionType330Sub, self).__init__(Text, **kwargs_) -supermod.PenaltyDescriptionType330.subclass = PenaltyDescriptionType330Sub -# end class PenaltyDescriptionType330Sub - - -class TextType331Sub(supermod.TextType331): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType331Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType331.subclass = TextType331Sub -# end class TextType331Sub - - -class CheckoutChargesType334Sub(supermod.CheckoutChargesType334): - def __init__(self, CheckoutCharge=None, **kwargs_): - super(CheckoutChargesType334Sub, self).__init__(CheckoutCharge, **kwargs_) -supermod.CheckoutChargesType334.subclass = CheckoutChargesType334Sub -# end class CheckoutChargesType334Sub - - -class CheckoutChargeType335Sub(supermod.CheckoutChargeType335): - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): - super(CheckoutChargeType335Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Description, **kwargs_) -supermod.CheckoutChargeType335.subclass = CheckoutChargeType335Sub -# end class CheckoutChargeType335Sub - - -class DescriptionType336Sub(supermod.DescriptionType336): - def __init__(self, Text=None, **kwargs_): - super(DescriptionType336Sub, self).__init__(Text, **kwargs_) -supermod.DescriptionType336.subclass = DescriptionType336Sub -# end class DescriptionType336Sub - - -class TextType337Sub(supermod.TextType337): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType337Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType337.subclass = TextType337Sub -# end class TextType337Sub - - -class PetsPoliciesType340Sub(supermod.PetsPoliciesType340): - def __init__(self, PetsPolicy=None, **kwargs_): - super(PetsPoliciesType340Sub, self).__init__(PetsPolicy, **kwargs_) -supermod.PetsPoliciesType340.subclass = PetsPoliciesType340Sub -# end class PetsPoliciesType340Sub - - -class PetsPolicyType341Sub(supermod.PetsPolicyType341): - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): - super(PetsPolicyType341Sub, self).__init__(MaxPetQuantity, NonRefundableFee, ChargeCode, CurrencyCode, DecimalPlaces, Description, **kwargs_) -supermod.PetsPolicyType341.subclass = PetsPolicyType341Sub -# end class PetsPolicyType341Sub - - -class DescriptionType342Sub(supermod.DescriptionType342): - def __init__(self, Text=None, **kwargs_): - super(DescriptionType342Sub, self).__init__(Text, **kwargs_) -supermod.DescriptionType342.subclass = DescriptionType342Sub -# end class DescriptionType342Sub - - -class TextType343Sub(supermod.TextType343): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType343Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType343.subclass = TextType343Sub -# end class TextType343Sub - - -class TaxPoliciesType346Sub(supermod.TaxPoliciesType346): - def __init__(self, TaxPolicy=None, **kwargs_): - super(TaxPoliciesType346Sub, self).__init__(TaxPolicy, **kwargs_) -supermod.TaxPoliciesType346.subclass = TaxPoliciesType346Sub -# end class TaxPoliciesType346Sub - - -class TaxPolicyType347Sub(supermod.TaxPolicyType347): - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, **kwargs_): - super(TaxPolicyType347Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Code, ChargeFrequency, ChargeUnit, TaxDescription, **kwargs_) -supermod.TaxPolicyType347.subclass = TaxPolicyType347Sub -# end class TaxPolicyType347Sub - - -class TaxDescriptionType348Sub(supermod.TaxDescriptionType348): - def __init__(self, Text=None, **kwargs_): - super(TaxDescriptionType348Sub, self).__init__(Text, **kwargs_) -supermod.TaxDescriptionType348.subclass = TaxDescriptionType348Sub -# end class TaxDescriptionType348Sub - - -class TextType349Sub(supermod.TextType349): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType349Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType349.subclass = TextType349Sub -# end class TextType349Sub - - -class GuaranteePaymentPolicyType355Sub(supermod.GuaranteePaymentPolicyType355): - def __init__(self, GuaranteePayment=None, **kwargs_): - super(GuaranteePaymentPolicyType355Sub, self).__init__(GuaranteePayment, **kwargs_) -supermod.GuaranteePaymentPolicyType355.subclass = GuaranteePaymentPolicyType355Sub -# end class GuaranteePaymentPolicyType355Sub - - -class GuaranteePaymentType356Sub(supermod.GuaranteePaymentType356): - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, **kwargs_): - super(GuaranteePaymentType356Sub, self).__init__(AcceptedPayments, AmountPercent, Deadline, **kwargs_) -supermod.GuaranteePaymentType356.subclass = GuaranteePaymentType356Sub -# end class GuaranteePaymentType356Sub - - -class AcceptedPaymentsType357Sub(supermod.AcceptedPaymentsType357): - def __init__(self, AcceptedPayment=None, **kwargs_): - super(AcceptedPaymentsType357Sub, self).__init__(AcceptedPayment, **kwargs_) -supermod.AcceptedPaymentsType357.subclass = AcceptedPaymentsType357Sub -# end class AcceptedPaymentsType357Sub - - -class AcceptedPaymentType358Sub(supermod.AcceptedPaymentType358): - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, **kwargs_): - super(AcceptedPaymentType358Sub, self).__init__(BankAcct, Cash, PaymentCard, **kwargs_) -supermod.AcceptedPaymentType358.subclass = AcceptedPaymentType358Sub -# end class AcceptedPaymentType358Sub - - -class BankAcctType359Sub(supermod.BankAcctType359): - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, **kwargs_): - super(BankAcctType359Sub, self).__init__(BankAcctName, BankAcctNumber, BankID, **kwargs_) -supermod.BankAcctType359.subclass = BankAcctType359Sub -# end class BankAcctType359Sub - - -class BankAcctNameType360Sub(supermod.BankAcctNameType360): - def __init__(self, valueOf_=None, **kwargs_): - super(BankAcctNameType360Sub, self).__init__(valueOf_, **kwargs_) -supermod.BankAcctNameType360.subclass = BankAcctNameType360Sub -# end class BankAcctNameType360Sub - - -class BankAcctNumberType361Sub(supermod.BankAcctNumberType361): - def __init__(self, PlainText=None, **kwargs_): - super(BankAcctNumberType361Sub, self).__init__(PlainText, **kwargs_) -supermod.BankAcctNumberType361.subclass = BankAcctNumberType361Sub -# end class BankAcctNumberType361Sub - - -class PlainTextType362Sub(supermod.PlainTextType362): - def __init__(self, valueOf_=None, **kwargs_): - super(PlainTextType362Sub, self).__init__(valueOf_, **kwargs_) -supermod.PlainTextType362.subclass = PlainTextType362Sub -# end class PlainTextType362Sub - - -class BankIDType363Sub(supermod.BankIDType363): - def __init__(self, PlainText=None, **kwargs_): - super(BankIDType363Sub, self).__init__(PlainText, **kwargs_) -supermod.BankIDType363.subclass = BankIDType363Sub -# end class BankIDType363Sub - - -class PlainTextType364Sub(supermod.PlainTextType364): - def __init__(self, valueOf_=None, **kwargs_): - super(PlainTextType364Sub, self).__init__(valueOf_, **kwargs_) -supermod.PlainTextType364.subclass = PlainTextType364Sub -# end class PlainTextType364Sub - - -class CashType365Sub(supermod.CashType365): - def __init__(self, CashIndicator=None, **kwargs_): - super(CashType365Sub, self).__init__(CashIndicator, **kwargs_) -supermod.CashType365.subclass = CashType365Sub -# end class CashType365Sub - - -class PaymentCardType366Sub(supermod.PaymentCardType366): - def __init__(self, CardCode=None, CardType=None, **kwargs_): - super(PaymentCardType366Sub, self).__init__(CardCode, CardType, **kwargs_) -supermod.PaymentCardType366.subclass = PaymentCardType366Sub -# end class PaymentCardType366Sub - - -class CardTypeType367Sub(supermod.CardTypeType367): - def __init__(self, valueOf_=None, **kwargs_): - super(CardTypeType367Sub, self).__init__(valueOf_, **kwargs_) -supermod.CardTypeType367.subclass = CardTypeType367Sub -# end class CardTypeType367Sub - - -class AmountPercentType368Sub(supermod.AmountPercentType368): - def __init__(self, Percent=None, **kwargs_): - super(AmountPercentType368Sub, self).__init__(Percent, **kwargs_) -supermod.AmountPercentType368.subclass = AmountPercentType368Sub -# end class AmountPercentType368Sub - - -class DeadlineType369Sub(supermod.DeadlineType369): - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, **kwargs_): - super(DeadlineType369Sub, self).__init__(OffsetDropTime, OffsetTimeUnit, OffsetUnitMultiplier, **kwargs_) -supermod.DeadlineType369.subclass = DeadlineType369Sub -# end class DeadlineType369Sub - - -class PolicyInfoType370Sub(supermod.PolicyInfoType370): - def __init__(self, MinGuestAge=None, **kwargs_): - super(PolicyInfoType370Sub, self).__init__(MinGuestAge, **kwargs_) -supermod.PolicyInfoType370.subclass = PolicyInfoType370Sub -# end class PolicyInfoType370Sub - - -class StayRequirementsType371Sub(supermod.StayRequirementsType371): - def __init__(self, StayRequirement=None, **kwargs_): - super(StayRequirementsType371Sub, self).__init__(StayRequirement, **kwargs_) -supermod.StayRequirementsType371.subclass = StayRequirementsType371Sub -# end class StayRequirementsType371Sub - - -class StayRequirementType372Sub(supermod.StayRequirementType372): - def __init__(self, StayContext=None, Start=None, End=None, **kwargs_): - super(StayRequirementType372Sub, self).__init__(StayContext, Start, End, **kwargs_) -supermod.StayRequirementType372.subclass = StayRequirementType372Sub -# end class StayRequirementType372Sub - - -class AffiliationInfoType376Sub(supermod.AffiliationInfoType376): - def __init__(self, Awards=None, **kwargs_): - super(AffiliationInfoType376Sub, self).__init__(Awards, **kwargs_) -supermod.AffiliationInfoType376.subclass = AffiliationInfoType376Sub -# end class AffiliationInfoType376Sub - - -class AwardsType377Sub(supermod.AwardsType377): - def __init__(self, Award=None, **kwargs_): - super(AwardsType377Sub, self).__init__(Award, **kwargs_) -supermod.AwardsType377.subclass = AwardsType377Sub -# end class AwardsType377Sub - - -class AwardType378Sub(supermod.AwardType378): - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, **kwargs_): - super(AwardType378Sub, self).__init__(Rating, Provider, RatingSymbol, OfficialAppointmentInd, **kwargs_) -supermod.AwardType378.subclass = AwardType378Sub -# end class AwardType378Sub - - -class ContactInfosType379Sub(supermod.ContactInfosType379): - def __init__(self, ContactInfo=None, **kwargs_): - super(ContactInfosType379Sub, self).__init__(ContactInfo, **kwargs_) -supermod.ContactInfosType379.subclass = ContactInfosType379Sub -# end class ContactInfosType379Sub - - -class ContactInfoType380Sub(supermod.ContactInfoType380): - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, **kwargs_): - super(ContactInfoType380Sub, self).__init__(Location, Addresses, Phones, Emails, URLs, CompanyName, **kwargs_) -supermod.ContactInfoType380.subclass = ContactInfoType380Sub -# end class ContactInfoType380Sub - - -class AddressesType381Sub(supermod.AddressesType381): - def __init__(self, Address=None, **kwargs_): - super(AddressesType381Sub, self).__init__(Address, **kwargs_) -supermod.AddressesType381.subclass = AddressesType381Sub -# end class AddressesType381Sub - - -class AddressType382Sub(supermod.AddressType382): - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, **kwargs_): - super(AddressType382Sub, self).__init__(Language, AddressLine, CityName, PostalCode, StateProv, CountryName, **kwargs_) -supermod.AddressType382.subclass = AddressType382Sub -# end class AddressType382Sub - - -class StateProvType383Sub(supermod.StateProvType383): - def __init__(self, StateCode=None, **kwargs_): - super(StateProvType383Sub, self).__init__(StateCode, **kwargs_) -supermod.StateProvType383.subclass = StateProvType383Sub -# end class StateProvType383Sub - - -class CountryNameType384Sub(supermod.CountryNameType384): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType384Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType384.subclass = CountryNameType384Sub -# end class CountryNameType384Sub - - -class PhonesType387Sub(supermod.PhonesType387): - def __init__(self, Phone=None, **kwargs_): - super(PhonesType387Sub, self).__init__(Phone, **kwargs_) -supermod.PhonesType387.subclass = PhonesType387Sub -# end class PhonesType387Sub - - -class PhoneType388Sub(supermod.PhoneType388): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(PhoneType388Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.PhoneType388.subclass = PhoneType388Sub -# end class PhoneType388Sub - - -class EmailsType390Sub(supermod.EmailsType390): - def __init__(self, Email=None, **kwargs_): - super(EmailsType390Sub, self).__init__(Email, **kwargs_) -supermod.EmailsType390.subclass = EmailsType390Sub -# end class EmailsType390Sub - - -class EmailType391Sub(supermod.EmailType391): - def __init__(self, EmailType=None, valueOf_=None, **kwargs_): - super(EmailType391Sub, self).__init__(EmailType, valueOf_, **kwargs_) -supermod.EmailType391.subclass = EmailType391Sub -# end class EmailType391Sub - - -class URLsType392Sub(supermod.URLsType392): - def __init__(self, URL=None, **kwargs_): - super(URLsType392Sub, self).__init__(URL, **kwargs_) -supermod.URLsType392.subclass = URLsType392Sub -# end class URLsType392Sub - - -class URLType393Sub(supermod.URLType393): - def __init__(self, ID=None, valueOf_=None, **kwargs_): - super(URLType393Sub, self).__init__(ID, valueOf_, **kwargs_) -supermod.URLType393.subclass = URLType393Sub -# end class URLType393Sub - - -class CompanyNameType394Sub(supermod.CompanyNameType394): - def __init__(self, valueOf_=None, **kwargs_): - super(CompanyNameType394Sub, self).__init__(valueOf_, **kwargs_) -supermod.CompanyNameType394.subclass = CompanyNameType394Sub -# end class CompanyNameType394Sub - - -class UniqueIDType396Sub(supermod.UniqueIDType396): - def __init__(self, Type=None, ID=None, Instance=None, **kwargs_): - super(UniqueIDType396Sub, self).__init__(Type, ID, Instance, **kwargs_) -supermod.UniqueIDType396.subclass = UniqueIDType396Sub -# end class UniqueIDType396Sub - - -class RatePlansType399Sub(supermod.RatePlansType399): - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, **kwargs_): - super(RatePlansType399Sub, self).__init__(HotelCode, HotelName, RatePlan, **kwargs_) -supermod.RatePlansType399.subclass = RatePlansType399Sub -# end class RatePlansType399Sub - - -class RatePlanType400Sub(supermod.RatePlanType400): - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, **kwargs_): - super(RatePlanType400Sub, self).__init__(Start, End, RatePlanNotifType, CurrencyCode, RatePlanCode, RatePlanType, RatePlanCategory, RatePlanID, RatePlanQualifier, BookingRules, Rates, Supplements, Offers, Description, **kwargs_) -supermod.RatePlanType400.subclass = RatePlanType400Sub -# end class RatePlanType400Sub - - -class BookingRulesTypeSub(supermod.BookingRulesType): - def __init__(self, BookingRule=None, **kwargs_): - super(BookingRulesTypeSub, self).__init__(BookingRule, **kwargs_) -supermod.BookingRulesType.subclass = BookingRulesTypeSub -# end class BookingRulesTypeSub - - -class BookingRuleTypeSub(supermod.BookingRuleType): - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, **kwargs_): - super(BookingRuleTypeSub, self).__init__(CodeContext, Code, Start, End, LengthsOfStay, DOW_Restrictions, RestrictionStatus, **kwargs_) -supermod.BookingRuleType.subclass = BookingRuleTypeSub -# end class BookingRuleTypeSub - - -class LengthsOfStayTypeSub(supermod.LengthsOfStayType): - def __init__(self, LengthOfStay=None, **kwargs_): - super(LengthsOfStayTypeSub, self).__init__(LengthOfStay, **kwargs_) -supermod.LengthsOfStayType.subclass = LengthsOfStayTypeSub -# end class LengthsOfStayTypeSub - - -class LengthOfStayTypeSub(supermod.LengthOfStayType): - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): - super(LengthOfStayTypeSub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) -supermod.LengthOfStayType.subclass = LengthOfStayTypeSub -# end class LengthOfStayTypeSub - - -class DOW_RestrictionsTypeSub(supermod.DOW_RestrictionsType): - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): - super(DOW_RestrictionsTypeSub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) -supermod.DOW_RestrictionsType.subclass = DOW_RestrictionsTypeSub -# end class DOW_RestrictionsTypeSub - - -class ArrivalDaysOfWeekTypeSub(supermod.ArrivalDaysOfWeekType): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(ArrivalDaysOfWeekTypeSub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.ArrivalDaysOfWeekType.subclass = ArrivalDaysOfWeekTypeSub -# end class ArrivalDaysOfWeekTypeSub - - -class DepartureDaysOfWeekTypeSub(supermod.DepartureDaysOfWeekType): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(DepartureDaysOfWeekTypeSub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.DepartureDaysOfWeekType.subclass = DepartureDaysOfWeekTypeSub -# end class DepartureDaysOfWeekTypeSub - - -class RestrictionStatusTypeSub(supermod.RestrictionStatusType): - def __init__(self, Restriction=None, Status=None, **kwargs_): - super(RestrictionStatusTypeSub, self).__init__(Restriction, Status, **kwargs_) -supermod.RestrictionStatusType.subclass = RestrictionStatusTypeSub -# end class RestrictionStatusTypeSub - - -class RatesType404Sub(supermod.RatesType404): - def __init__(self, Rate=None, **kwargs_): - super(RatesType404Sub, self).__init__(Rate, **kwargs_) -supermod.RatesType404.subclass = RatesType404Sub -# end class RatesType404Sub - - -class RateType405Sub(supermod.RateType405): - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, **kwargs_): - super(RateType405Sub, self).__init__(MinGuestApplicable, Start, End, RateTimeUnit, UnitMultiplier, Mon, Tue, Weds, Thur, Fri, Sat, Sun, Duration, InvTypeCode, BaseByGuestAmts, AdditionalGuestAmounts, RateDescription, MealsIncluded, **kwargs_) -supermod.RateType405.subclass = RateType405Sub -# end class RateType405Sub - - -class BaseByGuestAmtsTypeSub(supermod.BaseByGuestAmtsType): - def __init__(self, BaseByGuestAmt=None, **kwargs_): - super(BaseByGuestAmtsTypeSub, self).__init__(BaseByGuestAmt, **kwargs_) -supermod.BaseByGuestAmtsType.subclass = BaseByGuestAmtsTypeSub -# end class BaseByGuestAmtsTypeSub - - -class BaseByGuestAmtTypeSub(supermod.BaseByGuestAmtType): - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, **kwargs_): - super(BaseByGuestAmtTypeSub, self).__init__(NumberOfGuests, AmountAfterTax, CurrencyCode, Type, AgeQualifyingCode, **kwargs_) -supermod.BaseByGuestAmtType.subclass = BaseByGuestAmtTypeSub -# end class BaseByGuestAmtTypeSub - - -class AdditionalGuestAmountsTypeSub(supermod.AdditionalGuestAmountsType): - def __init__(self, AdditionalGuestAmount=None, **kwargs_): - super(AdditionalGuestAmountsTypeSub, self).__init__(AdditionalGuestAmount, **kwargs_) -supermod.AdditionalGuestAmountsType.subclass = AdditionalGuestAmountsTypeSub -# end class AdditionalGuestAmountsTypeSub - - -class AdditionalGuestAmountTypeSub(supermod.AdditionalGuestAmountType): - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, **kwargs_): - super(AdditionalGuestAmountTypeSub, self).__init__(Amount, AgeQualifyingCode, MinAge, MaxAge, **kwargs_) -supermod.AdditionalGuestAmountType.subclass = AdditionalGuestAmountTypeSub -# end class AdditionalGuestAmountTypeSub - - -class RateDescriptionTypeSub(supermod.RateDescriptionType): - def __init__(self, Name=None, ListItem=None, **kwargs_): - super(RateDescriptionTypeSub, self).__init__(Name, ListItem, **kwargs_) -supermod.RateDescriptionType.subclass = RateDescriptionTypeSub -# end class RateDescriptionTypeSub - - -class ListItemType407Sub(supermod.ListItemType407): - def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): - super(ListItemType407Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) -supermod.ListItemType407.subclass = ListItemType407Sub -# end class ListItemType407Sub - - -class MealsIncludedType410Sub(supermod.MealsIncludedType410): - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, **kwargs_): - super(MealsIncludedType410Sub, self).__init__(Breakfast, Lunch, Dinner, MealPlanCodes, MealPlanIndicator, **kwargs_) -supermod.MealsIncludedType410.subclass = MealsIncludedType410Sub -# end class MealsIncludedType410Sub - - -class SupplementsTypeSub(supermod.SupplementsType): - def __init__(self, Supplement=None, **kwargs_): - super(SupplementsTypeSub, self).__init__(Supplement, **kwargs_) -supermod.SupplementsType.subclass = SupplementsTypeSub -# end class SupplementsTypeSub - - -class SupplementTypeSub(supermod.SupplementType): - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, **kwargs_): - super(SupplementTypeSub, self).__init__(AddToBasicRateIndicator, ChargeTypeCode, Amount, InvType, InvCode, MandatoryIndicator, Start, End, PrerequisiteInventory, Description, **kwargs_) -supermod.SupplementType.subclass = SupplementTypeSub -# end class SupplementTypeSub - - -class PrerequisiteInventoryTypeSub(supermod.PrerequisiteInventoryType): - def __init__(self, InvCode=None, InvType=None, **kwargs_): - super(PrerequisiteInventoryTypeSub, self).__init__(InvCode, InvType, **kwargs_) -supermod.PrerequisiteInventoryType.subclass = PrerequisiteInventoryTypeSub -# end class PrerequisiteInventoryTypeSub - - -class DescriptionType415Sub(supermod.DescriptionType415): - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): - super(DescriptionType415Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) -supermod.DescriptionType415.subclass = DescriptionType415Sub -# end class DescriptionType415Sub - - -class TextType416Sub(supermod.TextType416): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType416Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType416.subclass = TextType416Sub -# end class TextType416Sub - - -class OffersTypeSub(supermod.OffersType): - def __init__(self, Offer=None, **kwargs_): - super(OffersTypeSub, self).__init__(Offer, **kwargs_) -supermod.OffersType.subclass = OffersTypeSub -# end class OffersTypeSub - - -class OfferTypeSub(supermod.OfferType): - def __init__(self, OfferRules=None, Discount=None, Guests=None, **kwargs_): - super(OfferTypeSub, self).__init__(OfferRules, Discount, Guests, **kwargs_) -supermod.OfferType.subclass = OfferTypeSub -# end class OfferTypeSub - - -class OfferRulesTypeSub(supermod.OfferRulesType): - def __init__(self, OfferRule=None, **kwargs_): - super(OfferRulesTypeSub, self).__init__(OfferRule, **kwargs_) -supermod.OfferRulesType.subclass = OfferRulesTypeSub -# end class OfferRulesTypeSub - - -class OfferRuleTypeSub(supermod.OfferRuleType): - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, **kwargs_): - super(OfferRuleTypeSub, self).__init__(MinAdvancedBookingOffset, MaxAdvancedBookingOffset, LengthsOfStay, DOW_Restrictions, Occupancy, **kwargs_) -supermod.OfferRuleType.subclass = OfferRuleTypeSub -# end class OfferRuleTypeSub - - -class LengthsOfStayType421Sub(supermod.LengthsOfStayType421): - def __init__(self, LengthOfStay=None, **kwargs_): - super(LengthsOfStayType421Sub, self).__init__(LengthOfStay, **kwargs_) -supermod.LengthsOfStayType421.subclass = LengthsOfStayType421Sub -# end class LengthsOfStayType421Sub - - -class LengthOfStayType422Sub(supermod.LengthOfStayType422): - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): - super(LengthOfStayType422Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) -supermod.LengthOfStayType422.subclass = LengthOfStayType422Sub -# end class LengthOfStayType422Sub - - -class DOW_RestrictionsType425Sub(supermod.DOW_RestrictionsType425): - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): - super(DOW_RestrictionsType425Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) -supermod.DOW_RestrictionsType425.subclass = DOW_RestrictionsType425Sub -# end class DOW_RestrictionsType425Sub - - -class ArrivalDaysOfWeekType426Sub(supermod.ArrivalDaysOfWeekType426): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(ArrivalDaysOfWeekType426Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.ArrivalDaysOfWeekType426.subclass = ArrivalDaysOfWeekType426Sub -# end class ArrivalDaysOfWeekType426Sub - - -class DepartureDaysOfWeekType427Sub(supermod.DepartureDaysOfWeekType427): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(DepartureDaysOfWeekType427Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.DepartureDaysOfWeekType427.subclass = DepartureDaysOfWeekType427Sub -# end class DepartureDaysOfWeekType427Sub - - -class OccupancyTypeSub(supermod.OccupancyType): - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, **kwargs_): - super(OccupancyTypeSub, self).__init__(AgeQualifyingCode, MinAge, MaxAge, MinOccupancy, MaxOccupancy, **kwargs_) -supermod.OccupancyType.subclass = OccupancyTypeSub -# end class OccupancyTypeSub - - -class DiscountTypeSub(supermod.DiscountType): - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, **kwargs_): - super(DiscountTypeSub, self).__init__(Percent, NightsRequired, NightsDiscounted, DiscountPattern, **kwargs_) -supermod.DiscountType.subclass = DiscountTypeSub -# end class DiscountTypeSub - - -class GuestsTypeSub(supermod.GuestsType): - def __init__(self, Guest=None, **kwargs_): - super(GuestsTypeSub, self).__init__(Guest, **kwargs_) -supermod.GuestsType.subclass = GuestsTypeSub -# end class GuestsTypeSub - - -class GuestTypeSub(supermod.GuestType): - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, **kwargs_): - super(GuestTypeSub, self).__init__(AgeQualifyingCode, MaxAge, MinCount, FirstQualifyingPosition, LastQualifyingPosition, **kwargs_) -supermod.GuestType.subclass = GuestTypeSub -# end class GuestTypeSub - - -class DescriptionType428Sub(supermod.DescriptionType428): - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): - super(DescriptionType428Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) -supermod.DescriptionType428.subclass = DescriptionType428Sub -# end class DescriptionType428Sub - - -class TextType429Sub(supermod.TextType429): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType429Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType429.subclass = TextType429Sub -# end class TextType429Sub - - -class ErrorsType433Sub(supermod.ErrorsType433): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType433Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType433.subclass = ErrorsType433Sub -# end class ErrorsType433Sub - - -class ErrorType434Sub(supermod.ErrorType434): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType434Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType434.subclass = ErrorType434Sub -# end class ErrorType434Sub - - -class WarningsType436Sub(supermod.WarningsType436): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType436Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType436.subclass = WarningsType436Sub -# end class WarningsType436Sub - - -class WarningType437Sub(supermod.WarningType437): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType437Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType437.subclass = WarningType437Sub -# end class WarningType437Sub - - -class RatePlansType438Sub(supermod.RatePlansType438): - def __init__(self, RatePlan=None, **kwargs_): - super(RatePlansType438Sub, self).__init__(RatePlan, **kwargs_) -supermod.RatePlansType438.subclass = RatePlansType438Sub -# end class RatePlansType438Sub - - -class RatePlanType439Sub(supermod.RatePlanType439): - def __init__(self, DateRange=None, RatePlanCandidates=None, HotelRef=None, **kwargs_): - super(RatePlanType439Sub, self).__init__(DateRange, RatePlanCandidates, HotelRef, **kwargs_) -supermod.RatePlanType439.subclass = RatePlanType439Sub -# end class RatePlanType439Sub - - -class DateRangeTypeSub(supermod.DateRangeType): - def __init__(self, Start=None, End=None, **kwargs_): - super(DateRangeTypeSub, self).__init__(Start, End, **kwargs_) -supermod.DateRangeType.subclass = DateRangeTypeSub -# end class DateRangeTypeSub - - -class RatePlanCandidatesTypeSub(supermod.RatePlanCandidatesType): - def __init__(self, RatePlanCandidate=None, **kwargs_): - super(RatePlanCandidatesTypeSub, self).__init__(RatePlanCandidate, **kwargs_) -supermod.RatePlanCandidatesType.subclass = RatePlanCandidatesTypeSub -# end class RatePlanCandidatesTypeSub - - -class RatePlanCandidateTypeSub(supermod.RatePlanCandidateType): - def __init__(self, RatePlanCode=None, RatePlanID=None, **kwargs_): - super(RatePlanCandidateTypeSub, self).__init__(RatePlanCode, RatePlanID, **kwargs_) -supermod.RatePlanCandidateType.subclass = RatePlanCandidateTypeSub -# end class RatePlanCandidateTypeSub - - -class HotelRefTypeSub(supermod.HotelRefType): - def __init__(self, HotelCode=None, HotelName=None, **kwargs_): - super(HotelRefTypeSub, self).__init__(HotelCode, HotelName, **kwargs_) -supermod.HotelRefType.subclass = HotelRefTypeSub -# end class HotelRefTypeSub - - -class ErrorsType440Sub(supermod.ErrorsType440): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType440Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType440.subclass = ErrorsType440Sub -# end class ErrorsType440Sub - - -class ErrorType441Sub(supermod.ErrorType441): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType441Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType441.subclass = ErrorType441Sub -# end class ErrorType441Sub - - -class WarningsType443Sub(supermod.WarningsType443): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType443Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType443.subclass = WarningsType443Sub -# end class WarningsType443Sub - - -class WarningType444Sub(supermod.WarningType444): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType444Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType444.subclass = WarningType444Sub -# end class WarningType444Sub - - -class RatePlansType445Sub(supermod.RatePlansType445): - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, **kwargs_): - super(RatePlansType445Sub, self).__init__(HotelCode, HotelName, RatePlan, **kwargs_) -supermod.RatePlansType445.subclass = RatePlansType445Sub -# end class RatePlansType445Sub - - -class RatePlanType446Sub(supermod.RatePlanType446): - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, **kwargs_): - super(RatePlanType446Sub, self).__init__(Start, End, RatePlanNotifType, CurrencyCode, RatePlanCode, RatePlanType, RatePlanCategory, RatePlanID, RatePlanQualifier, BookingRules, Rates, Supplements, Offers, Description, **kwargs_) -supermod.RatePlanType446.subclass = RatePlanType446Sub -# end class RatePlanType446Sub - - -class BookingRulesType447Sub(supermod.BookingRulesType447): - def __init__(self, BookingRule=None, **kwargs_): - super(BookingRulesType447Sub, self).__init__(BookingRule, **kwargs_) -supermod.BookingRulesType447.subclass = BookingRulesType447Sub -# end class BookingRulesType447Sub - - -class BookingRuleType448Sub(supermod.BookingRuleType448): - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, **kwargs_): - super(BookingRuleType448Sub, self).__init__(CodeContext, Code, Start, End, LengthsOfStay, DOW_Restrictions, RestrictionStatus, **kwargs_) -supermod.BookingRuleType448.subclass = BookingRuleType448Sub -# end class BookingRuleType448Sub - - -class LengthsOfStayType449Sub(supermod.LengthsOfStayType449): - def __init__(self, LengthOfStay=None, **kwargs_): - super(LengthsOfStayType449Sub, self).__init__(LengthOfStay, **kwargs_) -supermod.LengthsOfStayType449.subclass = LengthsOfStayType449Sub -# end class LengthsOfStayType449Sub - - -class LengthOfStayType450Sub(supermod.LengthOfStayType450): - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): - super(LengthOfStayType450Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) -supermod.LengthOfStayType450.subclass = LengthOfStayType450Sub -# end class LengthOfStayType450Sub - - -class DOW_RestrictionsType453Sub(supermod.DOW_RestrictionsType453): - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): - super(DOW_RestrictionsType453Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) -supermod.DOW_RestrictionsType453.subclass = DOW_RestrictionsType453Sub -# end class DOW_RestrictionsType453Sub - - -class ArrivalDaysOfWeekType454Sub(supermod.ArrivalDaysOfWeekType454): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(ArrivalDaysOfWeekType454Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.ArrivalDaysOfWeekType454.subclass = ArrivalDaysOfWeekType454Sub -# end class ArrivalDaysOfWeekType454Sub - - -class DepartureDaysOfWeekType455Sub(supermod.DepartureDaysOfWeekType455): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(DepartureDaysOfWeekType455Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.DepartureDaysOfWeekType455.subclass = DepartureDaysOfWeekType455Sub -# end class DepartureDaysOfWeekType455Sub - - -class RestrictionStatusType456Sub(supermod.RestrictionStatusType456): - def __init__(self, Restriction=None, Status=None, **kwargs_): - super(RestrictionStatusType456Sub, self).__init__(Restriction, Status, **kwargs_) -supermod.RestrictionStatusType456.subclass = RestrictionStatusType456Sub -# end class RestrictionStatusType456Sub - - -class RatesType460Sub(supermod.RatesType460): - def __init__(self, Rate=None, **kwargs_): - super(RatesType460Sub, self).__init__(Rate, **kwargs_) -supermod.RatesType460.subclass = RatesType460Sub -# end class RatesType460Sub - - -class RateType461Sub(supermod.RateType461): - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, **kwargs_): - super(RateType461Sub, self).__init__(MinGuestApplicable, Start, End, RateTimeUnit, UnitMultiplier, Mon, Tue, Weds, Thur, Fri, Sat, Sun, Duration, InvTypeCode, BaseByGuestAmts, AdditionalGuestAmounts, RateDescription, MealsIncluded, **kwargs_) -supermod.RateType461.subclass = RateType461Sub -# end class RateType461Sub - - -class BaseByGuestAmtsType462Sub(supermod.BaseByGuestAmtsType462): - def __init__(self, BaseByGuestAmt=None, **kwargs_): - super(BaseByGuestAmtsType462Sub, self).__init__(BaseByGuestAmt, **kwargs_) -supermod.BaseByGuestAmtsType462.subclass = BaseByGuestAmtsType462Sub -# end class BaseByGuestAmtsType462Sub - - -class BaseByGuestAmtType463Sub(supermod.BaseByGuestAmtType463): - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, **kwargs_): - super(BaseByGuestAmtType463Sub, self).__init__(NumberOfGuests, AmountAfterTax, CurrencyCode, Type, AgeQualifyingCode, **kwargs_) -supermod.BaseByGuestAmtType463.subclass = BaseByGuestAmtType463Sub -# end class BaseByGuestAmtType463Sub - - -class AdditionalGuestAmountsType465Sub(supermod.AdditionalGuestAmountsType465): - def __init__(self, AdditionalGuestAmount=None, **kwargs_): - super(AdditionalGuestAmountsType465Sub, self).__init__(AdditionalGuestAmount, **kwargs_) -supermod.AdditionalGuestAmountsType465.subclass = AdditionalGuestAmountsType465Sub -# end class AdditionalGuestAmountsType465Sub - - -class AdditionalGuestAmountType466Sub(supermod.AdditionalGuestAmountType466): - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, **kwargs_): - super(AdditionalGuestAmountType466Sub, self).__init__(Amount, AgeQualifyingCode, MinAge, MaxAge, **kwargs_) -supermod.AdditionalGuestAmountType466.subclass = AdditionalGuestAmountType466Sub -# end class AdditionalGuestAmountType466Sub - - -class RateDescriptionType467Sub(supermod.RateDescriptionType467): - def __init__(self, Name=None, ListItem=None, **kwargs_): - super(RateDescriptionType467Sub, self).__init__(Name, ListItem, **kwargs_) -supermod.RateDescriptionType467.subclass = RateDescriptionType467Sub -# end class RateDescriptionType467Sub - - -class ListItemType468Sub(supermod.ListItemType468): - def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): - super(ListItemType468Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) -supermod.ListItemType468.subclass = ListItemType468Sub -# end class ListItemType468Sub - - -class MealsIncludedType471Sub(supermod.MealsIncludedType471): - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, **kwargs_): - super(MealsIncludedType471Sub, self).__init__(Breakfast, Lunch, Dinner, MealPlanCodes, MealPlanIndicator, **kwargs_) -supermod.MealsIncludedType471.subclass = MealsIncludedType471Sub -# end class MealsIncludedType471Sub - - -class SupplementsType476Sub(supermod.SupplementsType476): - def __init__(self, Supplement=None, **kwargs_): - super(SupplementsType476Sub, self).__init__(Supplement, **kwargs_) -supermod.SupplementsType476.subclass = SupplementsType476Sub -# end class SupplementsType476Sub - - -class SupplementType477Sub(supermod.SupplementType477): - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, **kwargs_): - super(SupplementType477Sub, self).__init__(AddToBasicRateIndicator, ChargeTypeCode, Amount, InvType, InvCode, MandatoryIndicator, Start, End, PrerequisiteInventory, Description, **kwargs_) -supermod.SupplementType477.subclass = SupplementType477Sub -# end class SupplementType477Sub - - -class PrerequisiteInventoryType478Sub(supermod.PrerequisiteInventoryType478): - def __init__(self, InvCode=None, InvType=None, **kwargs_): - super(PrerequisiteInventoryType478Sub, self).__init__(InvCode, InvType, **kwargs_) -supermod.PrerequisiteInventoryType478.subclass = PrerequisiteInventoryType478Sub -# end class PrerequisiteInventoryType478Sub - - -class DescriptionType480Sub(supermod.DescriptionType480): - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): - super(DescriptionType480Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) -supermod.DescriptionType480.subclass = DescriptionType480Sub -# end class DescriptionType480Sub - - -class TextType481Sub(supermod.TextType481): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType481Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType481.subclass = TextType481Sub -# end class TextType481Sub - - -class OffersType488Sub(supermod.OffersType488): - def __init__(self, Offer=None, **kwargs_): - super(OffersType488Sub, self).__init__(Offer, **kwargs_) -supermod.OffersType488.subclass = OffersType488Sub -# end class OffersType488Sub - - -class OfferType489Sub(supermod.OfferType489): - def __init__(self, OfferRules=None, Discount=None, Guests=None, **kwargs_): - super(OfferType489Sub, self).__init__(OfferRules, Discount, Guests, **kwargs_) -supermod.OfferType489.subclass = OfferType489Sub -# end class OfferType489Sub - - -class OfferRulesType490Sub(supermod.OfferRulesType490): - def __init__(self, OfferRule=None, **kwargs_): - super(OfferRulesType490Sub, self).__init__(OfferRule, **kwargs_) -supermod.OfferRulesType490.subclass = OfferRulesType490Sub -# end class OfferRulesType490Sub - - -class OfferRuleType491Sub(supermod.OfferRuleType491): - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, **kwargs_): - super(OfferRuleType491Sub, self).__init__(MinAdvancedBookingOffset, MaxAdvancedBookingOffset, LengthsOfStay, DOW_Restrictions, Occupancy, **kwargs_) -supermod.OfferRuleType491.subclass = OfferRuleType491Sub -# end class OfferRuleType491Sub - - -class LengthsOfStayType492Sub(supermod.LengthsOfStayType492): - def __init__(self, LengthOfStay=None, **kwargs_): - super(LengthsOfStayType492Sub, self).__init__(LengthOfStay, **kwargs_) -supermod.LengthsOfStayType492.subclass = LengthsOfStayType492Sub -# end class LengthsOfStayType492Sub - - -class LengthOfStayType493Sub(supermod.LengthOfStayType493): - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): - super(LengthOfStayType493Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) -supermod.LengthOfStayType493.subclass = LengthOfStayType493Sub -# end class LengthOfStayType493Sub - - -class DOW_RestrictionsType496Sub(supermod.DOW_RestrictionsType496): - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): - super(DOW_RestrictionsType496Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) -supermod.DOW_RestrictionsType496.subclass = DOW_RestrictionsType496Sub -# end class DOW_RestrictionsType496Sub - - -class ArrivalDaysOfWeekType497Sub(supermod.ArrivalDaysOfWeekType497): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(ArrivalDaysOfWeekType497Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.ArrivalDaysOfWeekType497.subclass = ArrivalDaysOfWeekType497Sub -# end class ArrivalDaysOfWeekType497Sub - - -class DepartureDaysOfWeekType498Sub(supermod.DepartureDaysOfWeekType498): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(DepartureDaysOfWeekType498Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.DepartureDaysOfWeekType498.subclass = DepartureDaysOfWeekType498Sub -# end class DepartureDaysOfWeekType498Sub - - -class OccupancyType499Sub(supermod.OccupancyType499): - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, **kwargs_): - super(OccupancyType499Sub, self).__init__(AgeQualifyingCode, MinAge, MaxAge, MinOccupancy, MaxOccupancy, **kwargs_) -supermod.OccupancyType499.subclass = OccupancyType499Sub -# end class OccupancyType499Sub - - -class DiscountType503Sub(supermod.DiscountType503): - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, **kwargs_): - super(DiscountType503Sub, self).__init__(Percent, NightsRequired, NightsDiscounted, DiscountPattern, **kwargs_) -supermod.DiscountType503.subclass = DiscountType503Sub -# end class DiscountType503Sub - - -class GuestsType506Sub(supermod.GuestsType506): - def __init__(self, Guest=None, **kwargs_): - super(GuestsType506Sub, self).__init__(Guest, **kwargs_) -supermod.GuestsType506.subclass = GuestsType506Sub -# end class GuestsType506Sub - - -class GuestType507Sub(supermod.GuestType507): - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, **kwargs_): - super(GuestType507Sub, self).__init__(AgeQualifyingCode, MaxAge, MinCount, FirstQualifyingPosition, LastQualifyingPosition, **kwargs_) -supermod.GuestType507.subclass = GuestType507Sub -# end class GuestType507Sub - - -class DescriptionType509Sub(supermod.DescriptionType509): - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): - super(DescriptionType509Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) -supermod.DescriptionType509.subclass = DescriptionType509Sub -# end class DescriptionType509Sub - - -class TextType510Sub(supermod.TextType510): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType510Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType510.subclass = TextType510Sub -# end class TextType510Sub - - -class HotelReservationType516Sub(supermod.HotelReservationType516): - def __init__(self, CreateDateTime=None, LastModifyDateTime=None, ResStatus=None, RoomStayReservation=None, UniqueID=None, RoomStays=None, Services=None, ResGuests=None, ResGlobalInfo=None, **kwargs_): - super(HotelReservationType516Sub, self).__init__(CreateDateTime, LastModifyDateTime, ResStatus, RoomStayReservation, UniqueID, RoomStays, Services, ResGuests, ResGlobalInfo, **kwargs_) -supermod.HotelReservationType516.subclass = HotelReservationType516Sub -# end class HotelReservationType516Sub - - -class UniqueIDType517Sub(supermod.UniqueIDType517): - def __init__(self, Type=None, ID=None, **kwargs_): - super(UniqueIDType517Sub, self).__init__(Type, ID, **kwargs_) -supermod.UniqueIDType517.subclass = UniqueIDType517Sub -# end class UniqueIDType517Sub - - -class RoomStaysType519Sub(supermod.RoomStaysType519): - def __init__(self, RoomStay=None, **kwargs_): - super(RoomStaysType519Sub, self).__init__(RoomStay, **kwargs_) -supermod.RoomStaysType519.subclass = RoomStaysType519Sub -# end class RoomStaysType519Sub - - -class RoomStayType520Sub(supermod.RoomStayType520): - def __init__(self, RoomStayGroupID=None, RoomTypes=None, RatePlans=None, RoomRates=None, GuestCounts=None, TimeSpan=None, Guarantee=None, Total=None, ServiceRPHs=None, **kwargs_): - super(RoomStayType520Sub, self).__init__(RoomStayGroupID, RoomTypes, RatePlans, RoomRates, GuestCounts, TimeSpan, Guarantee, Total, ServiceRPHs, **kwargs_) -supermod.RoomStayType520.subclass = RoomStayType520Sub -# end class RoomStayType520Sub - - -class RoomTypesType521Sub(supermod.RoomTypesType521): - def __init__(self, RoomType=None, **kwargs_): - super(RoomTypesType521Sub, self).__init__(RoomType, **kwargs_) -supermod.RoomTypesType521.subclass = RoomTypesType521Sub -# end class RoomTypesType521Sub - - -class RoomTypeType522Sub(supermod.RoomTypeType522): - def __init__(self, RoomTypeCode=None, RoomClassificationCode=None, RoomType=None, **kwargs_): - super(RoomTypeType522Sub, self).__init__(RoomTypeCode, RoomClassificationCode, RoomType, **kwargs_) -supermod.RoomTypeType522.subclass = RoomTypeType522Sub -# end class RoomTypeType522Sub - - -class RatePlansType524Sub(supermod.RatePlansType524): - def __init__(self, RatePlan=None, **kwargs_): - super(RatePlansType524Sub, self).__init__(RatePlan, **kwargs_) -supermod.RatePlansType524.subclass = RatePlansType524Sub -# end class RatePlansType524Sub - - -class RatePlanType525Sub(supermod.RatePlanType525): - def __init__(self, RatePlanCode=None, Commission=None, MealsIncluded=None, **kwargs_): - super(RatePlanType525Sub, self).__init__(RatePlanCode, Commission, MealsIncluded, **kwargs_) -supermod.RatePlanType525.subclass = RatePlanType525Sub -# end class RatePlanType525Sub - - -class CommissionType526Sub(supermod.CommissionType526): - def __init__(self, Percent=None, CommissionPayableAmount=None, **kwargs_): - super(CommissionType526Sub, self).__init__(Percent, CommissionPayableAmount, **kwargs_) -supermod.CommissionType526.subclass = CommissionType526Sub -# end class CommissionType526Sub - - -class CommissionPayableAmountType527Sub(supermod.CommissionPayableAmountType527): - def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): - super(CommissionPayableAmountType527Sub, self).__init__(Amount, CurrencyCode, **kwargs_) -supermod.CommissionPayableAmountType527.subclass = CommissionPayableAmountType527Sub -# end class CommissionPayableAmountType527Sub - - -class MealsIncludedType528Sub(supermod.MealsIncludedType528): - def __init__(self, MealPlanIndicator=None, MealPlanCodes=None, **kwargs_): - super(MealsIncludedType528Sub, self).__init__(MealPlanIndicator, MealPlanCodes, **kwargs_) -supermod.MealsIncludedType528.subclass = MealsIncludedType528Sub -# end class MealsIncludedType528Sub - - -class RoomRatesType531Sub(supermod.RoomRatesType531): - def __init__(self, RoomRate=None, **kwargs_): - super(RoomRatesType531Sub, self).__init__(RoomRate, **kwargs_) -supermod.RoomRatesType531.subclass = RoomRatesType531Sub -# end class RoomRatesType531Sub - - -class RoomRateType532Sub(supermod.RoomRateType532): - def __init__(self, RatePlanCode=None, RoomTypeCode=None, Rates=None, **kwargs_): - super(RoomRateType532Sub, self).__init__(RatePlanCode, RoomTypeCode, Rates, **kwargs_) -supermod.RoomRateType532.subclass = RoomRateType532Sub -# end class RoomRateType532Sub - - -class RatesType533Sub(supermod.RatesType533): - def __init__(self, Rate=None, **kwargs_): - super(RatesType533Sub, self).__init__(Rate, **kwargs_) -supermod.RatesType533.subclass = RatesType533Sub -# end class RatesType533Sub - - -class RateType534Sub(supermod.RateType534): - def __init__(self, EffectiveDate=None, ExpireDate=None, ExpireDateExclusiveInd=None, RateTimeUnit=None, UnitMultiplier=None, Base=None, **kwargs_): - super(RateType534Sub, self).__init__(EffectiveDate, ExpireDate, ExpireDateExclusiveInd, RateTimeUnit, UnitMultiplier, Base, **kwargs_) -supermod.RateType534.subclass = RateType534Sub -# end class RateType534Sub - - -class BaseType535Sub(supermod.BaseType535): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(BaseType535Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.BaseType535.subclass = BaseType535Sub -# end class BaseType535Sub - - -class GuestCountsType537Sub(supermod.GuestCountsType537): - def __init__(self, GuestCount=None, **kwargs_): - super(GuestCountsType537Sub, self).__init__(GuestCount, **kwargs_) -supermod.GuestCountsType537.subclass = GuestCountsType537Sub -# end class GuestCountsType537Sub - - -class GuestCountType538Sub(supermod.GuestCountType538): - def __init__(self, Count=None, Age=None, **kwargs_): - super(GuestCountType538Sub, self).__init__(Count, Age, **kwargs_) -supermod.GuestCountType538.subclass = GuestCountType538Sub -# end class GuestCountType538Sub - - -class TimeSpanType539Sub(supermod.TimeSpanType539): - def __init__(self, Start=None, End=None, Duration=None, StartDateWindow=None, **kwargs_): - super(TimeSpanType539Sub, self).__init__(Start, End, Duration, StartDateWindow, **kwargs_) -supermod.TimeSpanType539.subclass = TimeSpanType539Sub -# end class TimeSpanType539Sub - - -class StartDateWindowType540Sub(supermod.StartDateWindowType540): - def __init__(self, EarliestDate=None, LatestDate=None, **kwargs_): - super(StartDateWindowType540Sub, self).__init__(EarliestDate, LatestDate, **kwargs_) -supermod.StartDateWindowType540.subclass = StartDateWindowType540Sub -# end class StartDateWindowType540Sub - - -class GuaranteeType542Sub(supermod.GuaranteeType542): - def __init__(self, GuaranteesAccepted=None, **kwargs_): - super(GuaranteeType542Sub, self).__init__(GuaranteesAccepted, **kwargs_) -supermod.GuaranteeType542.subclass = GuaranteeType542Sub -# end class GuaranteeType542Sub - - -class GuaranteesAcceptedType543Sub(supermod.GuaranteesAcceptedType543): - def __init__(self, GuaranteeAccepted=None, **kwargs_): - super(GuaranteesAcceptedType543Sub, self).__init__(GuaranteeAccepted, **kwargs_) -supermod.GuaranteesAcceptedType543.subclass = GuaranteesAcceptedType543Sub -# end class GuaranteesAcceptedType543Sub - - -class GuaranteeAcceptedType544Sub(supermod.GuaranteeAcceptedType544): - def __init__(self, PaymentCard=None, **kwargs_): - super(GuaranteeAcceptedType544Sub, self).__init__(PaymentCard, **kwargs_) -supermod.GuaranteeAcceptedType544.subclass = GuaranteeAcceptedType544Sub -# end class GuaranteeAcceptedType544Sub - - -class PaymentCardType545Sub(supermod.PaymentCardType545): - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): - super(PaymentCardType545Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) -supermod.PaymentCardType545.subclass = PaymentCardType545Sub -# end class PaymentCardType545Sub - - -class CardNumberType546Sub(supermod.CardNumberType546): - def __init__(self, EncryptedValue=None, EncryptionMethod=None, PlainText=None, **kwargs_): - super(CardNumberType546Sub, self).__init__(EncryptedValue, EncryptionMethod, PlainText, **kwargs_) -supermod.CardNumberType546.subclass = CardNumberType546Sub -# end class CardNumberType546Sub - - -class TotalType549Sub(supermod.TotalType549): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(TotalType549Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.TotalType549.subclass = TotalType549Sub -# end class TotalType549Sub - - -class ServiceRPHsType550Sub(supermod.ServiceRPHsType550): - def __init__(self, ServiceRPH=None, **kwargs_): - super(ServiceRPHsType550Sub, self).__init__(ServiceRPH, **kwargs_) -supermod.ServiceRPHsType550.subclass = ServiceRPHsType550Sub -# end class ServiceRPHsType550Sub - - -class ServiceRPHType551Sub(supermod.ServiceRPHType551): - def __init__(self, RPH=None, **kwargs_): - super(ServiceRPHType551Sub, self).__init__(RPH, **kwargs_) -supermod.ServiceRPHType551.subclass = ServiceRPHType551Sub -# end class ServiceRPHType551Sub - - -class ServicesType553Sub(supermod.ServicesType553): - def __init__(self, Service=None, **kwargs_): - super(ServicesType553Sub, self).__init__(Service, **kwargs_) -supermod.ServicesType553.subclass = ServicesType553Sub -# end class ServicesType553Sub - - -class ServiceType554Sub(supermod.ServiceType554): - def __init__(self, ID=None, Type=None, ServiceCategoryCode=None, ServiceInventoryCode=None, ServiceRPH=None, ServicePricingType=None, Inclusive=None, Quantity=None, ServiceDetails=None, **kwargs_): - super(ServiceType554Sub, self).__init__(ID, Type, ServiceCategoryCode, ServiceInventoryCode, ServiceRPH, ServicePricingType, Inclusive, Quantity, ServiceDetails, **kwargs_) -supermod.ServiceType554.subclass = ServiceType554Sub -# end class ServiceType554Sub - - -class ServiceDetailsType555Sub(supermod.ServiceDetailsType555): - def __init__(self, GuestCounts=None, TimeSpan=None, Comments=None, Total=None, ServiceDescription=None, **kwargs_): - super(ServiceDetailsType555Sub, self).__init__(GuestCounts, TimeSpan, Comments, Total, ServiceDescription, **kwargs_) -supermod.ServiceDetailsType555.subclass = ServiceDetailsType555Sub -# end class ServiceDetailsType555Sub - - -class GuestCountsType556Sub(supermod.GuestCountsType556): - def __init__(self, GuestCount=None, **kwargs_): - super(GuestCountsType556Sub, self).__init__(GuestCount, **kwargs_) -supermod.GuestCountsType556.subclass = GuestCountsType556Sub -# end class GuestCountsType556Sub - - -class GuestCountType557Sub(supermod.GuestCountType557): - def __init__(self, Age=None, Count=None, **kwargs_): - super(GuestCountType557Sub, self).__init__(Age, Count, **kwargs_) -supermod.GuestCountType557.subclass = GuestCountType557Sub -# end class GuestCountType557Sub - - -class TimeSpanType558Sub(supermod.TimeSpanType558): - def __init__(self, Start=None, End=None, **kwargs_): - super(TimeSpanType558Sub, self).__init__(Start, End, **kwargs_) -supermod.TimeSpanType558.subclass = TimeSpanType558Sub -# end class TimeSpanType558Sub - - -class CommentsType559Sub(supermod.CommentsType559): - def __init__(self, Comment=None, **kwargs_): - super(CommentsType559Sub, self).__init__(Comment, **kwargs_) -supermod.CommentsType559.subclass = CommentsType559Sub -# end class CommentsType559Sub - - -class CommentType560Sub(supermod.CommentType560): - def __init__(self, Text=None, **kwargs_): - super(CommentType560Sub, self).__init__(Text, **kwargs_) -supermod.CommentType560.subclass = CommentType560Sub -# end class CommentType560Sub - - -class TextType561Sub(supermod.TextType561): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType561Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType561.subclass = TextType561Sub -# end class TextType561Sub - - -class TotalType563Sub(supermod.TotalType563): - def __init__(self, AmountAfterTax=None, CurrencyCode=None, **kwargs_): - super(TotalType563Sub, self).__init__(AmountAfterTax, CurrencyCode, **kwargs_) -supermod.TotalType563.subclass = TotalType563Sub -# end class TotalType563Sub - - -class ServiceDescriptionType564Sub(supermod.ServiceDescriptionType564): - def __init__(self, Text=None, **kwargs_): - super(ServiceDescriptionType564Sub, self).__init__(Text, **kwargs_) -supermod.ServiceDescriptionType564.subclass = ServiceDescriptionType564Sub -# end class ServiceDescriptionType564Sub - - -class TextType565Sub(supermod.TextType565): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType565Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType565.subclass = TextType565Sub -# end class TextType565Sub - - -class ResGuestsType571Sub(supermod.ResGuestsType571): - def __init__(self, ResGuest=None, **kwargs_): - super(ResGuestsType571Sub, self).__init__(ResGuest, **kwargs_) -supermod.ResGuestsType571.subclass = ResGuestsType571Sub -# end class ResGuestsType571Sub - - -class ResGuestType572Sub(supermod.ResGuestType572): - def __init__(self, Profiles=None, **kwargs_): - super(ResGuestType572Sub, self).__init__(Profiles, **kwargs_) -supermod.ResGuestType572.subclass = ResGuestType572Sub -# end class ResGuestType572Sub - - -class ProfilesType573Sub(supermod.ProfilesType573): - def __init__(self, ProfileInfo=None, **kwargs_): - super(ProfilesType573Sub, self).__init__(ProfileInfo, **kwargs_) -supermod.ProfilesType573.subclass = ProfilesType573Sub -# end class ProfilesType573Sub - - -class ProfileInfoType574Sub(supermod.ProfileInfoType574): - def __init__(self, Profile=None, **kwargs_): - super(ProfileInfoType574Sub, self).__init__(Profile, **kwargs_) -supermod.ProfileInfoType574.subclass = ProfileInfoType574Sub -# end class ProfileInfoType574Sub - - -class ProfileType575Sub(supermod.ProfileType575): - def __init__(self, Customer=None, **kwargs_): - super(ProfileType575Sub, self).__init__(Customer, **kwargs_) -supermod.ProfileType575.subclass = ProfileType575Sub -# end class ProfileType575Sub - - -class CustomerType576Sub(supermod.CustomerType576): - def __init__(self, Gender=None, BirthDate=None, Language=None, PersonName=None, Telephone=None, Email=None, Address=None, **kwargs_): - super(CustomerType576Sub, self).__init__(Gender, BirthDate, Language, PersonName, Telephone, Email, Address, **kwargs_) -supermod.CustomerType576.subclass = CustomerType576Sub -# end class CustomerType576Sub - - -class PersonNameType577Sub(supermod.PersonNameType577): - def __init__(self, NamePrefix=None, GivenName=None, Surname=None, NameTitle=None, **kwargs_): - super(PersonNameType577Sub, self).__init__(NamePrefix, GivenName, Surname, NameTitle, **kwargs_) -supermod.PersonNameType577.subclass = PersonNameType577Sub -# end class PersonNameType577Sub - - -class TelephoneType578Sub(supermod.TelephoneType578): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(TelephoneType578Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.TelephoneType578.subclass = TelephoneType578Sub -# end class TelephoneType578Sub - - -class EmailType581Sub(supermod.EmailType581): - def __init__(self, Remark=None, valueOf_=None, **kwargs_): - super(EmailType581Sub, self).__init__(Remark, valueOf_, **kwargs_) -supermod.EmailType581.subclass = EmailType581Sub -# end class EmailType581Sub - - -class AddressType583Sub(supermod.AddressType583): - def __init__(self, Remark=None, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): - super(AddressType583Sub, self).__init__(Remark, AddressLine, CityName, PostalCode, CountryName, **kwargs_) -supermod.AddressType583.subclass = AddressType583Sub -# end class AddressType583Sub - - -class CountryNameType584Sub(supermod.CountryNameType584): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType584Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType584.subclass = CountryNameType584Sub -# end class CountryNameType584Sub - - -class ResGlobalInfoType589Sub(supermod.ResGlobalInfoType589): - def __init__(self, Comments=None, SpecialRequests=None, DepositPayments=None, CancelPenalties=None, HotelReservationIDs=None, Profiles=None, BasicPropertyInfo=None, **kwargs_): - super(ResGlobalInfoType589Sub, self).__init__(Comments, SpecialRequests, DepositPayments, CancelPenalties, HotelReservationIDs, Profiles, BasicPropertyInfo, **kwargs_) -supermod.ResGlobalInfoType589.subclass = ResGlobalInfoType589Sub -# end class ResGlobalInfoType589Sub - - -class CommentsType590Sub(supermod.CommentsType590): - def __init__(self, Comment=None, **kwargs_): - super(CommentsType590Sub, self).__init__(Comment, **kwargs_) -supermod.CommentsType590.subclass = CommentsType590Sub -# end class CommentsType590Sub - - -class CommentType591Sub(supermod.CommentType591): - def __init__(self, Name=None, ListItem=None, Text=None, **kwargs_): - super(CommentType591Sub, self).__init__(Name, ListItem, Text, **kwargs_) -supermod.CommentType591.subclass = CommentType591Sub -# end class CommentType591Sub - - -class ListItemType592Sub(supermod.ListItemType592): - def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): - super(ListItemType592Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) -supermod.ListItemType592.subclass = ListItemType592Sub -# end class ListItemType592Sub - - -class SpecialRequestsType595Sub(supermod.SpecialRequestsType595): - def __init__(self, SpecialRequest=None, **kwargs_): - super(SpecialRequestsType595Sub, self).__init__(SpecialRequest, **kwargs_) -supermod.SpecialRequestsType595.subclass = SpecialRequestsType595Sub -# end class SpecialRequestsType595Sub - - -class SpecialRequestType596Sub(supermod.SpecialRequestType596): - def __init__(self, RequestCode=None, CodeContext=None, Text=None, **kwargs_): - super(SpecialRequestType596Sub, self).__init__(RequestCode, CodeContext, Text, **kwargs_) -supermod.SpecialRequestType596.subclass = SpecialRequestType596Sub -# end class SpecialRequestType596Sub - - -class TextType597Sub(supermod.TextType597): - def __init__(self, TextFormat=None, valueOf_=None, **kwargs_): - super(TextType597Sub, self).__init__(TextFormat, valueOf_, **kwargs_) -supermod.TextType597.subclass = TextType597Sub -# end class TextType597Sub - - -class DepositPaymentsType600Sub(supermod.DepositPaymentsType600): - def __init__(self, GuaranteePayment=None, **kwargs_): - super(DepositPaymentsType600Sub, self).__init__(GuaranteePayment, **kwargs_) -supermod.DepositPaymentsType600.subclass = DepositPaymentsType600Sub -# end class DepositPaymentsType600Sub - - -class GuaranteePaymentType601Sub(supermod.GuaranteePaymentType601): - def __init__(self, Start=None, GuaranteeCode=None, AcceptedPayments=None, AmountPercent=None, **kwargs_): - super(GuaranteePaymentType601Sub, self).__init__(Start, GuaranteeCode, AcceptedPayments, AmountPercent, **kwargs_) -supermod.GuaranteePaymentType601.subclass = GuaranteePaymentType601Sub -# end class GuaranteePaymentType601Sub - - -class AcceptedPaymentsType602Sub(supermod.AcceptedPaymentsType602): - def __init__(self, AcceptedPayment=None, **kwargs_): - super(AcceptedPaymentsType602Sub, self).__init__(AcceptedPayment, **kwargs_) -supermod.AcceptedPaymentsType602.subclass = AcceptedPaymentsType602Sub -# end class AcceptedPaymentsType602Sub - - -class AcceptedPaymentType603Sub(supermod.AcceptedPaymentType603): - def __init__(self, GuaranteeTypeCode=None, GuaranteeID=None, PaymentTransactionTypeCode=None, PaymentCard=None, BankAcct=None, Voucher=None, **kwargs_): - super(AcceptedPaymentType603Sub, self).__init__(GuaranteeTypeCode, GuaranteeID, PaymentTransactionTypeCode, PaymentCard, BankAcct, Voucher, **kwargs_) -supermod.AcceptedPaymentType603.subclass = AcceptedPaymentType603Sub -# end class AcceptedPaymentType603Sub - - -class PaymentCardType604Sub(supermod.PaymentCardType604): - def __init__(self, CardCode=None, ExpireDate=None, CardHolderName=None, CardNumber=None, **kwargs_): - super(PaymentCardType604Sub, self).__init__(CardCode, ExpireDate, CardHolderName, CardNumber, **kwargs_) -supermod.PaymentCardType604.subclass = PaymentCardType604Sub -# end class PaymentCardType604Sub - - -class CardNumberType605Sub(supermod.CardNumberType605): - def __init__(self, Mask=None, Token=None, TokenProviderID=None, **kwargs_): - super(CardNumberType605Sub, self).__init__(Mask, Token, TokenProviderID, **kwargs_) -supermod.CardNumberType605.subclass = CardNumberType605Sub -# end class CardNumberType605Sub - - -class BankAcctType610Sub(supermod.BankAcctType610): - def __init__(self, BankAcctName=None, BankAcctNumber=None, **kwargs_): - super(BankAcctType610Sub, self).__init__(BankAcctName, BankAcctNumber, **kwargs_) -supermod.BankAcctType610.subclass = BankAcctType610Sub -# end class BankAcctType610Sub - - -class BankAcctNumberType611Sub(supermod.BankAcctNumberType611): - def __init__(self, Mask=None, PlainText=None, **kwargs_): - super(BankAcctNumberType611Sub, self).__init__(Mask, PlainText, **kwargs_) -supermod.BankAcctNumberType611.subclass = BankAcctNumberType611Sub -# end class BankAcctNumberType611Sub - - -class VoucherType613Sub(supermod.VoucherType613): - def __init__(self, ElectronicIndicator=None, Identifier=None, **kwargs_): - super(VoucherType613Sub, self).__init__(ElectronicIndicator, Identifier, **kwargs_) -supermod.VoucherType613.subclass = VoucherType613Sub -# end class VoucherType613Sub - - -class AmountPercentType615Sub(supermod.AmountPercentType615): - def __init__(self, Amount=None, CurrencyCode=None, **kwargs_): - super(AmountPercentType615Sub, self).__init__(Amount, CurrencyCode, **kwargs_) -supermod.AmountPercentType615.subclass = AmountPercentType615Sub -# end class AmountPercentType615Sub - - -class CancelPenaltiesType616Sub(supermod.CancelPenaltiesType616): - def __init__(self, CancelPenalty=None, **kwargs_): - super(CancelPenaltiesType616Sub, self).__init__(CancelPenalty, **kwargs_) -supermod.CancelPenaltiesType616.subclass = CancelPenaltiesType616Sub -# end class CancelPenaltiesType616Sub - - -class CancelPenaltyType617Sub(supermod.CancelPenaltyType617): - def __init__(self, PenaltyDescription=None, **kwargs_): - super(CancelPenaltyType617Sub, self).__init__(PenaltyDescription, **kwargs_) -supermod.CancelPenaltyType617.subclass = CancelPenaltyType617Sub -# end class CancelPenaltyType617Sub - - -class PenaltyDescriptionType618Sub(supermod.PenaltyDescriptionType618): - def __init__(self, Text=None, **kwargs_): - super(PenaltyDescriptionType618Sub, self).__init__(Text, **kwargs_) -supermod.PenaltyDescriptionType618.subclass = PenaltyDescriptionType618Sub -# end class PenaltyDescriptionType618Sub - - -class HotelReservationIDsType619Sub(supermod.HotelReservationIDsType619): - def __init__(self, HotelReservationID=None, **kwargs_): - super(HotelReservationIDsType619Sub, self).__init__(HotelReservationID, **kwargs_) -supermod.HotelReservationIDsType619.subclass = HotelReservationIDsType619Sub -# end class HotelReservationIDsType619Sub - - -class HotelReservationIDType620Sub(supermod.HotelReservationIDType620): - def __init__(self, ResID_Type=None, ResID_Value=None, ResID_Source=None, ResID_SourceContext=None, **kwargs_): - super(HotelReservationIDType620Sub, self).__init__(ResID_Type, ResID_Value, ResID_Source, ResID_SourceContext, **kwargs_) -supermod.HotelReservationIDType620.subclass = HotelReservationIDType620Sub -# end class HotelReservationIDType620Sub - - -class ProfilesType621Sub(supermod.ProfilesType621): - def __init__(self, ProfileInfo=None, **kwargs_): - super(ProfilesType621Sub, self).__init__(ProfileInfo, **kwargs_) -supermod.ProfilesType621.subclass = ProfilesType621Sub -# end class ProfilesType621Sub - - -class ProfileInfoType622Sub(supermod.ProfileInfoType622): - def __init__(self, Profile=None, **kwargs_): - super(ProfileInfoType622Sub, self).__init__(Profile, **kwargs_) -supermod.ProfileInfoType622.subclass = ProfileInfoType622Sub -# end class ProfileInfoType622Sub - - -class ProfileType623Sub(supermod.ProfileType623): - def __init__(self, ProfileType=None, CompanyInfo=None, **kwargs_): - super(ProfileType623Sub, self).__init__(ProfileType, CompanyInfo, **kwargs_) -supermod.ProfileType623.subclass = ProfileType623Sub -# end class ProfileType623Sub - - -class CompanyInfoType624Sub(supermod.CompanyInfoType624): - def __init__(self, CompanyName=None, AddressInfo=None, TelephoneInfo=None, Email=None, **kwargs_): - super(CompanyInfoType624Sub, self).__init__(CompanyName, AddressInfo, TelephoneInfo, Email, **kwargs_) -supermod.CompanyInfoType624.subclass = CompanyInfoType624Sub -# end class CompanyInfoType624Sub - - -class CompanyNameType625Sub(supermod.CompanyNameType625): - def __init__(self, Code=None, CodeContext=None, valueOf_=None, **kwargs_): - super(CompanyNameType625Sub, self).__init__(Code, CodeContext, valueOf_, **kwargs_) -supermod.CompanyNameType625.subclass = CompanyNameType625Sub -# end class CompanyNameType625Sub - - -class AddressInfoType626Sub(supermod.AddressInfoType626): - def __init__(self, AddressLine=None, CityName=None, PostalCode=None, CountryName=None, **kwargs_): - super(AddressInfoType626Sub, self).__init__(AddressLine, CityName, PostalCode, CountryName, **kwargs_) -supermod.AddressInfoType626.subclass = AddressInfoType626Sub -# end class AddressInfoType626Sub - - -class CountryNameType627Sub(supermod.CountryNameType627): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType627Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType627.subclass = CountryNameType627Sub -# end class CountryNameType627Sub - - -class TelephoneInfoType629Sub(supermod.TelephoneInfoType629): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(TelephoneInfoType629Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.TelephoneInfoType629.subclass = TelephoneInfoType629Sub -# end class TelephoneInfoType629Sub - - -class BasicPropertyInfoType633Sub(supermod.BasicPropertyInfoType633): - def __init__(self, HotelCode=None, HotelName=None, **kwargs_): - super(BasicPropertyInfoType633Sub, self).__init__(HotelCode, HotelName, **kwargs_) -supermod.BasicPropertyInfoType633.subclass = BasicPropertyInfoType633Sub -# end class BasicPropertyInfoType633Sub - - -class HotelDescriptiveContentsType635Sub(supermod.HotelDescriptiveContentsType635): - def __init__(self, HotelDescriptiveContent=None, **kwargs_): - super(HotelDescriptiveContentsType635Sub, self).__init__(HotelDescriptiveContent, **kwargs_) -supermod.HotelDescriptiveContentsType635.subclass = HotelDescriptiveContentsType635Sub -# end class HotelDescriptiveContentsType635Sub - - -class HotelDescriptiveContentType636Sub(supermod.HotelDescriptiveContentType636): - def __init__(self, HotelCityCode=None, HotelCode=None, HotelName=None, AreaID=None, HotelInfo=None, FacilityInfo=None, Policies=None, AffiliationInfo=None, ContactInfos=None, **kwargs_): - super(HotelDescriptiveContentType636Sub, self).__init__(HotelCityCode, HotelCode, HotelName, AreaID, HotelInfo, FacilityInfo, Policies, AffiliationInfo, ContactInfos, **kwargs_) -supermod.HotelDescriptiveContentType636.subclass = HotelDescriptiveContentType636Sub -# end class HotelDescriptiveContentType636Sub - - -class HotelInfoType637Sub(supermod.HotelInfoType637): - def __init__(self, HotelStatusCode=None, CategoryCodes=None, Descriptions=None, Position=None, Services=None, **kwargs_): - super(HotelInfoType637Sub, self).__init__(HotelStatusCode, CategoryCodes, Descriptions, Position, Services, **kwargs_) -supermod.HotelInfoType637.subclass = HotelInfoType637Sub -# end class HotelInfoType637Sub - - -class CategoryCodesType638Sub(supermod.CategoryCodesType638): - def __init__(self, HotelCategory=None, **kwargs_): - super(CategoryCodesType638Sub, self).__init__(HotelCategory, **kwargs_) -supermod.CategoryCodesType638.subclass = CategoryCodesType638Sub -# end class CategoryCodesType638Sub - - -class HotelCategoryType639Sub(supermod.HotelCategoryType639): - def __init__(self, Code=None, CodeDetail=None, **kwargs_): - super(HotelCategoryType639Sub, self).__init__(Code, CodeDetail, **kwargs_) -supermod.HotelCategoryType639.subclass = HotelCategoryType639Sub -# end class HotelCategoryType639Sub - - -class DescriptionsType640Sub(supermod.DescriptionsType640): - def __init__(self, MultimediaDescriptions=None, **kwargs_): - super(DescriptionsType640Sub, self).__init__(MultimediaDescriptions, **kwargs_) -supermod.DescriptionsType640.subclass = DescriptionsType640Sub -# end class DescriptionsType640Sub - - -class MultimediaDescriptionsType641Sub(supermod.MultimediaDescriptionsType641): - def __init__(self, MultimediaDescription=None, **kwargs_): - super(MultimediaDescriptionsType641Sub, self).__init__(MultimediaDescription, **kwargs_) -supermod.MultimediaDescriptionsType641.subclass = MultimediaDescriptionsType641Sub -# end class MultimediaDescriptionsType641Sub - - -class MultimediaDescriptionType642Sub(supermod.MultimediaDescriptionType642): - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, VideoItems=None, **kwargs_): - super(MultimediaDescriptionType642Sub, self).__init__(InfoCode, TextItems, ImageItems, VideoItems, **kwargs_) -supermod.MultimediaDescriptionType642.subclass = MultimediaDescriptionType642Sub -# end class MultimediaDescriptionType642Sub - - -class TextItemsType643Sub(supermod.TextItemsType643): - def __init__(self, TextItem=None, **kwargs_): - super(TextItemsType643Sub, self).__init__(TextItem, **kwargs_) -supermod.TextItemsType643.subclass = TextItemsType643Sub -# end class TextItemsType643Sub - - -class TextItemType644Sub(supermod.TextItemType644): - def __init__(self, SourceID=None, CopyrightNotice=None, Description=None, **kwargs_): - super(TextItemType644Sub, self).__init__(SourceID, CopyrightNotice, Description, **kwargs_) -supermod.TextItemType644.subclass = TextItemType644Sub -# end class TextItemType644Sub - - -class DescriptionType645Sub(supermod.DescriptionType645): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType645Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType645.subclass = DescriptionType645Sub -# end class DescriptionType645Sub - - -class ImageItemsType648Sub(supermod.ImageItemsType648): - def __init__(self, ImageItem=None, **kwargs_): - super(ImageItemsType648Sub, self).__init__(ImageItem, **kwargs_) -supermod.ImageItemsType648.subclass = ImageItemsType648Sub -# end class ImageItemsType648Sub - - -class ImageItemType649Sub(supermod.ImageItemType649): - def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): - super(ImageItemType649Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) -supermod.ImageItemType649.subclass = ImageItemType649Sub -# end class ImageItemType649Sub - - -class ImageFormatType650Sub(supermod.ImageFormatType650): - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, ApplicableEnd=None, URL=None, **kwargs_): - super(ImageFormatType650Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, ApplicableEnd, URL, **kwargs_) -supermod.ImageFormatType650.subclass = ImageFormatType650Sub -# end class ImageFormatType650Sub - - -class DescriptionType653Sub(supermod.DescriptionType653): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType653Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType653.subclass = DescriptionType653Sub -# end class DescriptionType653Sub - - -class VideoItemsType657Sub(supermod.VideoItemsType657): - def __init__(self, VideoItem=None, **kwargs_): - super(VideoItemsType657Sub, self).__init__(VideoItem, **kwargs_) -supermod.VideoItemsType657.subclass = VideoItemsType657Sub -# end class VideoItemsType657Sub - - -class VideoItemType658Sub(supermod.VideoItemType658): - def __init__(self, Category=None, VideoFormat=None, Description=None, **kwargs_): - super(VideoItemType658Sub, self).__init__(Category, VideoFormat, Description, **kwargs_) -supermod.VideoItemType658.subclass = VideoItemType658Sub -# end class VideoItemType658Sub - - -class VideoFormatType659Sub(supermod.VideoFormatType659): - def __init__(self, CopyrightNotice=None, SourceID=None, Title=None, ApplicableStart=None, URL=None, **kwargs_): - super(VideoFormatType659Sub, self).__init__(CopyrightNotice, SourceID, Title, ApplicableStart, URL, **kwargs_) -supermod.VideoFormatType659.subclass = VideoFormatType659Sub -# end class VideoFormatType659Sub - - -class DescriptionType661Sub(supermod.DescriptionType661): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType661Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType661.subclass = DescriptionType661Sub -# end class DescriptionType661Sub - - -class PositionType666Sub(supermod.PositionType666): - def __init__(self, Altitude=None, AltitudeUnitOfMeasureCode=None, Latitude=None, Longitude=None, **kwargs_): - super(PositionType666Sub, self).__init__(Altitude, AltitudeUnitOfMeasureCode, Latitude, Longitude, **kwargs_) -supermod.PositionType666.subclass = PositionType666Sub -# end class PositionType666Sub - - -class ServicesType668Sub(supermod.ServicesType668): - def __init__(self, Service=None, **kwargs_): - super(ServicesType668Sub, self).__init__(Service, **kwargs_) -supermod.ServicesType668.subclass = ServicesType668Sub -# end class ServicesType668Sub - - -class ServiceType669Sub(supermod.ServiceType669): - def __init__(self, Code=None, MealPlanCode=None, ProximityCode=None, Included=None, Features=None, **kwargs_): - super(ServiceType669Sub, self).__init__(Code, MealPlanCode, ProximityCode, Included, Features, **kwargs_) -supermod.ServiceType669.subclass = ServiceType669Sub -# end class ServiceType669Sub - - -class FeaturesType670Sub(supermod.FeaturesType670): - def __init__(self, Feature=None, **kwargs_): - super(FeaturesType670Sub, self).__init__(Feature, **kwargs_) -supermod.FeaturesType670.subclass = FeaturesType670Sub -# end class FeaturesType670Sub - - -class FeatureType671Sub(supermod.FeatureType671): - def __init__(self, AccessibleCode=None, **kwargs_): - super(FeatureType671Sub, self).__init__(AccessibleCode, **kwargs_) -supermod.FeatureType671.subclass = FeatureType671Sub -# end class FeatureType671Sub - - -class FacilityInfoType673Sub(supermod.FacilityInfoType673): - def __init__(self, GuestRooms=None, **kwargs_): - super(FacilityInfoType673Sub, self).__init__(GuestRooms, **kwargs_) -supermod.FacilityInfoType673.subclass = FacilityInfoType673Sub -# end class FacilityInfoType673Sub - - -class GuestRoomsType674Sub(supermod.GuestRoomsType674): - def __init__(self, GuestRoom=None, **kwargs_): - super(GuestRoomsType674Sub, self).__init__(GuestRoom, **kwargs_) -supermod.GuestRoomsType674.subclass = GuestRoomsType674Sub -# end class GuestRoomsType674Sub - - -class GuestRoomType675Sub(supermod.GuestRoomType675): - def __init__(self, Code=None, MaxOccupancy=None, MinOccupancy=None, MaxChildOccupancy=None, ID=None, TypeRoom=None, Amenities=None, MultimediaDescriptions=None, **kwargs_): - super(GuestRoomType675Sub, self).__init__(Code, MaxOccupancy, MinOccupancy, MaxChildOccupancy, ID, TypeRoom, Amenities, MultimediaDescriptions, **kwargs_) -supermod.GuestRoomType675.subclass = GuestRoomType675Sub -# end class GuestRoomType675Sub - - -class TypeRoomType676Sub(supermod.TypeRoomType676): - def __init__(self, StandardOccupancy=None, RoomClassificationCode=None, RoomID=None, Size=None, RoomType=None, **kwargs_): - super(TypeRoomType676Sub, self).__init__(StandardOccupancy, RoomClassificationCode, RoomID, Size, RoomType, **kwargs_) -supermod.TypeRoomType676.subclass = TypeRoomType676Sub -# end class TypeRoomType676Sub - - -class AmenitiesType678Sub(supermod.AmenitiesType678): - def __init__(self, Amenity=None, **kwargs_): - super(AmenitiesType678Sub, self).__init__(Amenity, **kwargs_) -supermod.AmenitiesType678.subclass = AmenitiesType678Sub -# end class AmenitiesType678Sub - - -class AmenityType679Sub(supermod.AmenityType679): - def __init__(self, RoomAmenityCode=None, **kwargs_): - super(AmenityType679Sub, self).__init__(RoomAmenityCode, **kwargs_) -supermod.AmenityType679.subclass = AmenityType679Sub -# end class AmenityType679Sub - - -class MultimediaDescriptionsType680Sub(supermod.MultimediaDescriptionsType680): - def __init__(self, MultimediaDescription=None, **kwargs_): - super(MultimediaDescriptionsType680Sub, self).__init__(MultimediaDescription, **kwargs_) -supermod.MultimediaDescriptionsType680.subclass = MultimediaDescriptionsType680Sub -# end class MultimediaDescriptionsType680Sub - - -class MultimediaDescriptionType681Sub(supermod.MultimediaDescriptionType681): - def __init__(self, InfoCode=None, TextItems=None, ImageItems=None, **kwargs_): - super(MultimediaDescriptionType681Sub, self).__init__(InfoCode, TextItems, ImageItems, **kwargs_) -supermod.MultimediaDescriptionType681.subclass = MultimediaDescriptionType681Sub -# end class MultimediaDescriptionType681Sub - - -class TextItemsType682Sub(supermod.TextItemsType682): - def __init__(self, TextItem=None, **kwargs_): - super(TextItemsType682Sub, self).__init__(TextItem, **kwargs_) -supermod.TextItemsType682.subclass = TextItemsType682Sub -# end class TextItemsType682Sub - - -class TextItemType683Sub(supermod.TextItemType683): - def __init__(self, Description=None, **kwargs_): - super(TextItemType683Sub, self).__init__(Description, **kwargs_) -supermod.TextItemType683.subclass = TextItemType683Sub -# end class TextItemType683Sub - - -class DescriptionType684Sub(supermod.DescriptionType684): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType684Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType684.subclass = DescriptionType684Sub -# end class DescriptionType684Sub - - -class ImageItemsType687Sub(supermod.ImageItemsType687): - def __init__(self, ImageItem=None, **kwargs_): - super(ImageItemsType687Sub, self).__init__(ImageItem, **kwargs_) -supermod.ImageItemsType687.subclass = ImageItemsType687Sub -# end class ImageItemsType687Sub - - -class ImageItemType688Sub(supermod.ImageItemType688): - def __init__(self, Category=None, ImageFormat=None, Description=None, **kwargs_): - super(ImageItemType688Sub, self).__init__(Category, ImageFormat, Description, **kwargs_) -supermod.ImageItemType688.subclass = ImageItemType688Sub -# end class ImageItemType688Sub - - -class ImageFormatType689Sub(supermod.ImageFormatType689): - def __init__(self, CopyrightNotice=None, URL=None, **kwargs_): - super(ImageFormatType689Sub, self).__init__(CopyrightNotice, URL, **kwargs_) -supermod.ImageFormatType689.subclass = ImageFormatType689Sub -# end class ImageFormatType689Sub - - -class DescriptionType690Sub(supermod.DescriptionType690): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(DescriptionType690Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.DescriptionType690.subclass = DescriptionType690Sub -# end class DescriptionType690Sub - - -class PoliciesType694Sub(supermod.PoliciesType694): - def __init__(self, Policy=None, **kwargs_): - super(PoliciesType694Sub, self).__init__(Policy, **kwargs_) -supermod.PoliciesType694.subclass = PoliciesType694Sub -# end class PoliciesType694Sub - - -class PolicyType695Sub(supermod.PolicyType695): - def __init__(self, CancelPolicy=None, CheckoutCharges=None, PetsPolicies=None, TaxPolicies=None, GuaranteePaymentPolicy=None, PolicyInfo=None, StayRequirements=None, **kwargs_): - super(PolicyType695Sub, self).__init__(CancelPolicy, CheckoutCharges, PetsPolicies, TaxPolicies, GuaranteePaymentPolicy, PolicyInfo, StayRequirements, **kwargs_) -supermod.PolicyType695.subclass = PolicyType695Sub -# end class PolicyType695Sub - - -class CancelPolicyType696Sub(supermod.CancelPolicyType696): - def __init__(self, CancelPenalty=None, **kwargs_): - super(CancelPolicyType696Sub, self).__init__(CancelPenalty, **kwargs_) -supermod.CancelPolicyType696.subclass = CancelPolicyType696Sub -# end class CancelPolicyType696Sub - - -class CancelPenaltyType697Sub(supermod.CancelPenaltyType697): - def __init__(self, PenaltyDescription=None, **kwargs_): - super(CancelPenaltyType697Sub, self).__init__(PenaltyDescription, **kwargs_) -supermod.CancelPenaltyType697.subclass = CancelPenaltyType697Sub -# end class CancelPenaltyType697Sub - - -class PenaltyDescriptionType698Sub(supermod.PenaltyDescriptionType698): - def __init__(self, Text=None, **kwargs_): - super(PenaltyDescriptionType698Sub, self).__init__(Text, **kwargs_) -supermod.PenaltyDescriptionType698.subclass = PenaltyDescriptionType698Sub -# end class PenaltyDescriptionType698Sub - - -class TextType699Sub(supermod.TextType699): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType699Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType699.subclass = TextType699Sub -# end class TextType699Sub - - -class CheckoutChargesType702Sub(supermod.CheckoutChargesType702): - def __init__(self, CheckoutCharge=None, **kwargs_): - super(CheckoutChargesType702Sub, self).__init__(CheckoutCharge, **kwargs_) -supermod.CheckoutChargesType702.subclass = CheckoutChargesType702Sub -# end class CheckoutChargesType702Sub - - -class CheckoutChargeType703Sub(supermod.CheckoutChargeType703): - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): - super(CheckoutChargeType703Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Description, **kwargs_) -supermod.CheckoutChargeType703.subclass = CheckoutChargeType703Sub -# end class CheckoutChargeType703Sub - - -class DescriptionType704Sub(supermod.DescriptionType704): - def __init__(self, Text=None, **kwargs_): - super(DescriptionType704Sub, self).__init__(Text, **kwargs_) -supermod.DescriptionType704.subclass = DescriptionType704Sub -# end class DescriptionType704Sub - - -class TextType705Sub(supermod.TextType705): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType705Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType705.subclass = TextType705Sub -# end class TextType705Sub - - -class PetsPoliciesType708Sub(supermod.PetsPoliciesType708): - def __init__(self, PetsPolicy=None, **kwargs_): - super(PetsPoliciesType708Sub, self).__init__(PetsPolicy, **kwargs_) -supermod.PetsPoliciesType708.subclass = PetsPoliciesType708Sub -# end class PetsPoliciesType708Sub - - -class PetsPolicyType709Sub(supermod.PetsPolicyType709): - def __init__(self, MaxPetQuantity=None, NonRefundableFee=None, ChargeCode=None, CurrencyCode=None, DecimalPlaces=None, Description=None, **kwargs_): - super(PetsPolicyType709Sub, self).__init__(MaxPetQuantity, NonRefundableFee, ChargeCode, CurrencyCode, DecimalPlaces, Description, **kwargs_) -supermod.PetsPolicyType709.subclass = PetsPolicyType709Sub -# end class PetsPolicyType709Sub - - -class DescriptionType710Sub(supermod.DescriptionType710): - def __init__(self, Text=None, **kwargs_): - super(DescriptionType710Sub, self).__init__(Text, **kwargs_) -supermod.DescriptionType710.subclass = DescriptionType710Sub -# end class DescriptionType710Sub - - -class TextType711Sub(supermod.TextType711): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType711Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType711.subclass = TextType711Sub -# end class TextType711Sub - - -class TaxPoliciesType714Sub(supermod.TaxPoliciesType714): - def __init__(self, TaxPolicy=None, **kwargs_): - super(TaxPoliciesType714Sub, self).__init__(TaxPolicy, **kwargs_) -supermod.TaxPoliciesType714.subclass = TaxPoliciesType714Sub -# end class TaxPoliciesType714Sub - - -class TaxPolicyType715Sub(supermod.TaxPolicyType715): - def __init__(self, Amount=None, CurrencyCode=None, DecimalPlaces=None, Code=None, ChargeFrequency=None, ChargeUnit=None, TaxDescription=None, **kwargs_): - super(TaxPolicyType715Sub, self).__init__(Amount, CurrencyCode, DecimalPlaces, Code, ChargeFrequency, ChargeUnit, TaxDescription, **kwargs_) -supermod.TaxPolicyType715.subclass = TaxPolicyType715Sub -# end class TaxPolicyType715Sub - - -class TaxDescriptionType716Sub(supermod.TaxDescriptionType716): - def __init__(self, Text=None, **kwargs_): - super(TaxDescriptionType716Sub, self).__init__(Text, **kwargs_) -supermod.TaxDescriptionType716.subclass = TaxDescriptionType716Sub -# end class TaxDescriptionType716Sub - - -class TextType717Sub(supermod.TextType717): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType717Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType717.subclass = TextType717Sub -# end class TextType717Sub - - -class GuaranteePaymentPolicyType723Sub(supermod.GuaranteePaymentPolicyType723): - def __init__(self, GuaranteePayment=None, **kwargs_): - super(GuaranteePaymentPolicyType723Sub, self).__init__(GuaranteePayment, **kwargs_) -supermod.GuaranteePaymentPolicyType723.subclass = GuaranteePaymentPolicyType723Sub -# end class GuaranteePaymentPolicyType723Sub - - -class GuaranteePaymentType724Sub(supermod.GuaranteePaymentType724): - def __init__(self, AcceptedPayments=None, AmountPercent=None, Deadline=None, **kwargs_): - super(GuaranteePaymentType724Sub, self).__init__(AcceptedPayments, AmountPercent, Deadline, **kwargs_) -supermod.GuaranteePaymentType724.subclass = GuaranteePaymentType724Sub -# end class GuaranteePaymentType724Sub - - -class AcceptedPaymentsType725Sub(supermod.AcceptedPaymentsType725): - def __init__(self, AcceptedPayment=None, **kwargs_): - super(AcceptedPaymentsType725Sub, self).__init__(AcceptedPayment, **kwargs_) -supermod.AcceptedPaymentsType725.subclass = AcceptedPaymentsType725Sub -# end class AcceptedPaymentsType725Sub - - -class AcceptedPaymentType726Sub(supermod.AcceptedPaymentType726): - def __init__(self, BankAcct=None, Cash=None, PaymentCard=None, **kwargs_): - super(AcceptedPaymentType726Sub, self).__init__(BankAcct, Cash, PaymentCard, **kwargs_) -supermod.AcceptedPaymentType726.subclass = AcceptedPaymentType726Sub -# end class AcceptedPaymentType726Sub - - -class BankAcctType727Sub(supermod.BankAcctType727): - def __init__(self, BankAcctName=None, BankAcctNumber=None, BankID=None, **kwargs_): - super(BankAcctType727Sub, self).__init__(BankAcctName, BankAcctNumber, BankID, **kwargs_) -supermod.BankAcctType727.subclass = BankAcctType727Sub -# end class BankAcctType727Sub - - -class BankAcctNameType728Sub(supermod.BankAcctNameType728): - def __init__(self, valueOf_=None, **kwargs_): - super(BankAcctNameType728Sub, self).__init__(valueOf_, **kwargs_) -supermod.BankAcctNameType728.subclass = BankAcctNameType728Sub -# end class BankAcctNameType728Sub - - -class BankAcctNumberType729Sub(supermod.BankAcctNumberType729): - def __init__(self, PlainText=None, **kwargs_): - super(BankAcctNumberType729Sub, self).__init__(PlainText, **kwargs_) -supermod.BankAcctNumberType729.subclass = BankAcctNumberType729Sub -# end class BankAcctNumberType729Sub - - -class PlainTextType730Sub(supermod.PlainTextType730): - def __init__(self, valueOf_=None, **kwargs_): - super(PlainTextType730Sub, self).__init__(valueOf_, **kwargs_) -supermod.PlainTextType730.subclass = PlainTextType730Sub -# end class PlainTextType730Sub - - -class BankIDType731Sub(supermod.BankIDType731): - def __init__(self, PlainText=None, **kwargs_): - super(BankIDType731Sub, self).__init__(PlainText, **kwargs_) -supermod.BankIDType731.subclass = BankIDType731Sub -# end class BankIDType731Sub - - -class PlainTextType732Sub(supermod.PlainTextType732): - def __init__(self, valueOf_=None, **kwargs_): - super(PlainTextType732Sub, self).__init__(valueOf_, **kwargs_) -supermod.PlainTextType732.subclass = PlainTextType732Sub -# end class PlainTextType732Sub - - -class CashType733Sub(supermod.CashType733): - def __init__(self, CashIndicator=None, **kwargs_): - super(CashType733Sub, self).__init__(CashIndicator, **kwargs_) -supermod.CashType733.subclass = CashType733Sub -# end class CashType733Sub - - -class PaymentCardType734Sub(supermod.PaymentCardType734): - def __init__(self, CardCode=None, CardType=None, **kwargs_): - super(PaymentCardType734Sub, self).__init__(CardCode, CardType, **kwargs_) -supermod.PaymentCardType734.subclass = PaymentCardType734Sub -# end class PaymentCardType734Sub - - -class CardTypeType735Sub(supermod.CardTypeType735): - def __init__(self, valueOf_=None, **kwargs_): - super(CardTypeType735Sub, self).__init__(valueOf_, **kwargs_) -supermod.CardTypeType735.subclass = CardTypeType735Sub -# end class CardTypeType735Sub - - -class AmountPercentType736Sub(supermod.AmountPercentType736): - def __init__(self, Percent=None, **kwargs_): - super(AmountPercentType736Sub, self).__init__(Percent, **kwargs_) -supermod.AmountPercentType736.subclass = AmountPercentType736Sub -# end class AmountPercentType736Sub - - -class DeadlineType737Sub(supermod.DeadlineType737): - def __init__(self, OffsetDropTime=None, OffsetTimeUnit=None, OffsetUnitMultiplier=None, **kwargs_): - super(DeadlineType737Sub, self).__init__(OffsetDropTime, OffsetTimeUnit, OffsetUnitMultiplier, **kwargs_) -supermod.DeadlineType737.subclass = DeadlineType737Sub -# end class DeadlineType737Sub - - -class PolicyInfoType738Sub(supermod.PolicyInfoType738): - def __init__(self, MinGuestAge=None, **kwargs_): - super(PolicyInfoType738Sub, self).__init__(MinGuestAge, **kwargs_) -supermod.PolicyInfoType738.subclass = PolicyInfoType738Sub -# end class PolicyInfoType738Sub - - -class StayRequirementsType739Sub(supermod.StayRequirementsType739): - def __init__(self, StayRequirement=None, **kwargs_): - super(StayRequirementsType739Sub, self).__init__(StayRequirement, **kwargs_) -supermod.StayRequirementsType739.subclass = StayRequirementsType739Sub -# end class StayRequirementsType739Sub - - -class StayRequirementType740Sub(supermod.StayRequirementType740): - def __init__(self, StayContext=None, Start=None, End=None, **kwargs_): - super(StayRequirementType740Sub, self).__init__(StayContext, Start, End, **kwargs_) -supermod.StayRequirementType740.subclass = StayRequirementType740Sub -# end class StayRequirementType740Sub - - -class AffiliationInfoType744Sub(supermod.AffiliationInfoType744): - def __init__(self, Awards=None, **kwargs_): - super(AffiliationInfoType744Sub, self).__init__(Awards, **kwargs_) -supermod.AffiliationInfoType744.subclass = AffiliationInfoType744Sub -# end class AffiliationInfoType744Sub - - -class AwardsType745Sub(supermod.AwardsType745): - def __init__(self, Award=None, **kwargs_): - super(AwardsType745Sub, self).__init__(Award, **kwargs_) -supermod.AwardsType745.subclass = AwardsType745Sub -# end class AwardsType745Sub - - -class AwardType746Sub(supermod.AwardType746): - def __init__(self, Rating=None, Provider=None, RatingSymbol=None, OfficialAppointmentInd=None, **kwargs_): - super(AwardType746Sub, self).__init__(Rating, Provider, RatingSymbol, OfficialAppointmentInd, **kwargs_) -supermod.AwardType746.subclass = AwardType746Sub -# end class AwardType746Sub - - -class ContactInfosType747Sub(supermod.ContactInfosType747): - def __init__(self, ContactInfo=None, **kwargs_): - super(ContactInfosType747Sub, self).__init__(ContactInfo, **kwargs_) -supermod.ContactInfosType747.subclass = ContactInfosType747Sub -# end class ContactInfosType747Sub - - -class ContactInfoType748Sub(supermod.ContactInfoType748): - def __init__(self, Location=None, Addresses=None, Phones=None, Emails=None, URLs=None, CompanyName=None, **kwargs_): - super(ContactInfoType748Sub, self).__init__(Location, Addresses, Phones, Emails, URLs, CompanyName, **kwargs_) -supermod.ContactInfoType748.subclass = ContactInfoType748Sub -# end class ContactInfoType748Sub - - -class AddressesType749Sub(supermod.AddressesType749): - def __init__(self, Address=None, **kwargs_): - super(AddressesType749Sub, self).__init__(Address, **kwargs_) -supermod.AddressesType749.subclass = AddressesType749Sub -# end class AddressesType749Sub - - -class AddressType750Sub(supermod.AddressType750): - def __init__(self, Language=None, AddressLine=None, CityName=None, PostalCode=None, StateProv=None, CountryName=None, **kwargs_): - super(AddressType750Sub, self).__init__(Language, AddressLine, CityName, PostalCode, StateProv, CountryName, **kwargs_) -supermod.AddressType750.subclass = AddressType750Sub -# end class AddressType750Sub - - -class StateProvType751Sub(supermod.StateProvType751): - def __init__(self, StateCode=None, **kwargs_): - super(StateProvType751Sub, self).__init__(StateCode, **kwargs_) -supermod.StateProvType751.subclass = StateProvType751Sub -# end class StateProvType751Sub - - -class CountryNameType752Sub(supermod.CountryNameType752): - def __init__(self, Code=None, **kwargs_): - super(CountryNameType752Sub, self).__init__(Code, **kwargs_) -supermod.CountryNameType752.subclass = CountryNameType752Sub -# end class CountryNameType752Sub - - -class PhonesType755Sub(supermod.PhonesType755): - def __init__(self, Phone=None, **kwargs_): - super(PhonesType755Sub, self).__init__(Phone, **kwargs_) -supermod.PhonesType755.subclass = PhonesType755Sub -# end class PhonesType755Sub - - -class PhoneType756Sub(supermod.PhoneType756): - def __init__(self, PhoneTechType=None, PhoneNumber=None, **kwargs_): - super(PhoneType756Sub, self).__init__(PhoneTechType, PhoneNumber, **kwargs_) -supermod.PhoneType756.subclass = PhoneType756Sub -# end class PhoneType756Sub - - -class EmailsType758Sub(supermod.EmailsType758): - def __init__(self, Email=None, **kwargs_): - super(EmailsType758Sub, self).__init__(Email, **kwargs_) -supermod.EmailsType758.subclass = EmailsType758Sub -# end class EmailsType758Sub - - -class EmailType759Sub(supermod.EmailType759): - def __init__(self, EmailType=None, valueOf_=None, **kwargs_): - super(EmailType759Sub, self).__init__(EmailType, valueOf_, **kwargs_) -supermod.EmailType759.subclass = EmailType759Sub -# end class EmailType759Sub - - -class URLsType760Sub(supermod.URLsType760): - def __init__(self, URL=None, **kwargs_): - super(URLsType760Sub, self).__init__(URL, **kwargs_) -supermod.URLsType760.subclass = URLsType760Sub -# end class URLsType760Sub - - -class URLType761Sub(supermod.URLType761): - def __init__(self, ID=None, valueOf_=None, **kwargs_): - super(URLType761Sub, self).__init__(ID, valueOf_, **kwargs_) -supermod.URLType761.subclass = URLType761Sub -# end class URLType761Sub - - -class CompanyNameType762Sub(supermod.CompanyNameType762): - def __init__(self, valueOf_=None, **kwargs_): - super(CompanyNameType762Sub, self).__init__(valueOf_, **kwargs_) -supermod.CompanyNameType762.subclass = CompanyNameType762Sub -# end class CompanyNameType762Sub - - -class RatePlansType764Sub(supermod.RatePlansType764): - def __init__(self, HotelCode=None, HotelName=None, RatePlan=None, **kwargs_): - super(RatePlansType764Sub, self).__init__(HotelCode, HotelName, RatePlan, **kwargs_) -supermod.RatePlansType764.subclass = RatePlansType764Sub -# end class RatePlansType764Sub - - -class RatePlanType765Sub(supermod.RatePlanType765): - def __init__(self, Start=None, End=None, RatePlanNotifType=None, CurrencyCode=None, RatePlanCode=None, RatePlanType=None, RatePlanCategory=None, RatePlanID=None, RatePlanQualifier=None, BookingRules=None, Rates=None, Supplements=None, Offers=None, Description=None, **kwargs_): - super(RatePlanType765Sub, self).__init__(Start, End, RatePlanNotifType, CurrencyCode, RatePlanCode, RatePlanType, RatePlanCategory, RatePlanID, RatePlanQualifier, BookingRules, Rates, Supplements, Offers, Description, **kwargs_) -supermod.RatePlanType765.subclass = RatePlanType765Sub -# end class RatePlanType765Sub - - -class BookingRulesType766Sub(supermod.BookingRulesType766): - def __init__(self, BookingRule=None, **kwargs_): - super(BookingRulesType766Sub, self).__init__(BookingRule, **kwargs_) -supermod.BookingRulesType766.subclass = BookingRulesType766Sub -# end class BookingRulesType766Sub - - -class BookingRuleType767Sub(supermod.BookingRuleType767): - def __init__(self, CodeContext=None, Code=None, Start=None, End=None, LengthsOfStay=None, DOW_Restrictions=None, RestrictionStatus=None, **kwargs_): - super(BookingRuleType767Sub, self).__init__(CodeContext, Code, Start, End, LengthsOfStay, DOW_Restrictions, RestrictionStatus, **kwargs_) -supermod.BookingRuleType767.subclass = BookingRuleType767Sub -# end class BookingRuleType767Sub - - -class LengthsOfStayType768Sub(supermod.LengthsOfStayType768): - def __init__(self, LengthOfStay=None, **kwargs_): - super(LengthsOfStayType768Sub, self).__init__(LengthOfStay, **kwargs_) -supermod.LengthsOfStayType768.subclass = LengthsOfStayType768Sub -# end class LengthsOfStayType768Sub - - -class LengthOfStayType769Sub(supermod.LengthOfStayType769): - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): - super(LengthOfStayType769Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) -supermod.LengthOfStayType769.subclass = LengthOfStayType769Sub -# end class LengthOfStayType769Sub - - -class DOW_RestrictionsType772Sub(supermod.DOW_RestrictionsType772): - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): - super(DOW_RestrictionsType772Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) -supermod.DOW_RestrictionsType772.subclass = DOW_RestrictionsType772Sub -# end class DOW_RestrictionsType772Sub - - -class ArrivalDaysOfWeekType773Sub(supermod.ArrivalDaysOfWeekType773): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(ArrivalDaysOfWeekType773Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.ArrivalDaysOfWeekType773.subclass = ArrivalDaysOfWeekType773Sub -# end class ArrivalDaysOfWeekType773Sub - - -class DepartureDaysOfWeekType774Sub(supermod.DepartureDaysOfWeekType774): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(DepartureDaysOfWeekType774Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.DepartureDaysOfWeekType774.subclass = DepartureDaysOfWeekType774Sub -# end class DepartureDaysOfWeekType774Sub - - -class RestrictionStatusType775Sub(supermod.RestrictionStatusType775): - def __init__(self, Restriction=None, Status=None, **kwargs_): - super(RestrictionStatusType775Sub, self).__init__(Restriction, Status, **kwargs_) -supermod.RestrictionStatusType775.subclass = RestrictionStatusType775Sub -# end class RestrictionStatusType775Sub - - -class RatesType779Sub(supermod.RatesType779): - def __init__(self, Rate=None, **kwargs_): - super(RatesType779Sub, self).__init__(Rate, **kwargs_) -supermod.RatesType779.subclass = RatesType779Sub -# end class RatesType779Sub - - -class RateType780Sub(supermod.RateType780): - def __init__(self, MinGuestApplicable=None, Start=None, End=None, RateTimeUnit=None, UnitMultiplier=None, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, Duration=None, InvTypeCode=None, BaseByGuestAmts=None, AdditionalGuestAmounts=None, RateDescription=None, MealsIncluded=None, **kwargs_): - super(RateType780Sub, self).__init__(MinGuestApplicable, Start, End, RateTimeUnit, UnitMultiplier, Mon, Tue, Weds, Thur, Fri, Sat, Sun, Duration, InvTypeCode, BaseByGuestAmts, AdditionalGuestAmounts, RateDescription, MealsIncluded, **kwargs_) -supermod.RateType780.subclass = RateType780Sub -# end class RateType780Sub - - -class BaseByGuestAmtsType781Sub(supermod.BaseByGuestAmtsType781): - def __init__(self, BaseByGuestAmt=None, **kwargs_): - super(BaseByGuestAmtsType781Sub, self).__init__(BaseByGuestAmt, **kwargs_) -supermod.BaseByGuestAmtsType781.subclass = BaseByGuestAmtsType781Sub -# end class BaseByGuestAmtsType781Sub - - -class BaseByGuestAmtType782Sub(supermod.BaseByGuestAmtType782): - def __init__(self, NumberOfGuests=None, AmountAfterTax=None, CurrencyCode=None, Type=None, AgeQualifyingCode=None, **kwargs_): - super(BaseByGuestAmtType782Sub, self).__init__(NumberOfGuests, AmountAfterTax, CurrencyCode, Type, AgeQualifyingCode, **kwargs_) -supermod.BaseByGuestAmtType782.subclass = BaseByGuestAmtType782Sub -# end class BaseByGuestAmtType782Sub - - -class AdditionalGuestAmountsType784Sub(supermod.AdditionalGuestAmountsType784): - def __init__(self, AdditionalGuestAmount=None, **kwargs_): - super(AdditionalGuestAmountsType784Sub, self).__init__(AdditionalGuestAmount, **kwargs_) -supermod.AdditionalGuestAmountsType784.subclass = AdditionalGuestAmountsType784Sub -# end class AdditionalGuestAmountsType784Sub - - -class AdditionalGuestAmountType785Sub(supermod.AdditionalGuestAmountType785): - def __init__(self, Amount=None, AgeQualifyingCode=None, MinAge=None, MaxAge=None, **kwargs_): - super(AdditionalGuestAmountType785Sub, self).__init__(Amount, AgeQualifyingCode, MinAge, MaxAge, **kwargs_) -supermod.AdditionalGuestAmountType785.subclass = AdditionalGuestAmountType785Sub -# end class AdditionalGuestAmountType785Sub - - -class RateDescriptionType786Sub(supermod.RateDescriptionType786): - def __init__(self, Name=None, ListItem=None, **kwargs_): - super(RateDescriptionType786Sub, self).__init__(Name, ListItem, **kwargs_) -supermod.RateDescriptionType786.subclass = RateDescriptionType786Sub -# end class RateDescriptionType786Sub - - -class ListItemType787Sub(supermod.ListItemType787): - def __init__(self, ListItem=None, Language=None, valueOf_=None, **kwargs_): - super(ListItemType787Sub, self).__init__(ListItem, Language, valueOf_, **kwargs_) -supermod.ListItemType787.subclass = ListItemType787Sub -# end class ListItemType787Sub - - -class MealsIncludedType790Sub(supermod.MealsIncludedType790): - def __init__(self, Breakfast=None, Lunch=None, Dinner=None, MealPlanCodes=None, MealPlanIndicator=None, **kwargs_): - super(MealsIncludedType790Sub, self).__init__(Breakfast, Lunch, Dinner, MealPlanCodes, MealPlanIndicator, **kwargs_) -supermod.MealsIncludedType790.subclass = MealsIncludedType790Sub -# end class MealsIncludedType790Sub - - -class SupplementsType795Sub(supermod.SupplementsType795): - def __init__(self, Supplement=None, **kwargs_): - super(SupplementsType795Sub, self).__init__(Supplement, **kwargs_) -supermod.SupplementsType795.subclass = SupplementsType795Sub -# end class SupplementsType795Sub - - -class SupplementType796Sub(supermod.SupplementType796): - def __init__(self, AddToBasicRateIndicator=None, ChargeTypeCode=None, Amount=None, InvType=None, InvCode=None, MandatoryIndicator=None, Start=None, End=None, PrerequisiteInventory=None, Description=None, **kwargs_): - super(SupplementType796Sub, self).__init__(AddToBasicRateIndicator, ChargeTypeCode, Amount, InvType, InvCode, MandatoryIndicator, Start, End, PrerequisiteInventory, Description, **kwargs_) -supermod.SupplementType796.subclass = SupplementType796Sub -# end class SupplementType796Sub - - -class PrerequisiteInventoryType797Sub(supermod.PrerequisiteInventoryType797): - def __init__(self, InvCode=None, InvType=None, **kwargs_): - super(PrerequisiteInventoryType797Sub, self).__init__(InvCode, InvType, **kwargs_) -supermod.PrerequisiteInventoryType797.subclass = PrerequisiteInventoryType797Sub -# end class PrerequisiteInventoryType797Sub - - -class DescriptionType799Sub(supermod.DescriptionType799): - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): - super(DescriptionType799Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) -supermod.DescriptionType799.subclass = DescriptionType799Sub -# end class DescriptionType799Sub - - -class TextType800Sub(supermod.TextType800): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType800Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType800.subclass = TextType800Sub -# end class TextType800Sub - - -class OffersType807Sub(supermod.OffersType807): - def __init__(self, Offer=None, **kwargs_): - super(OffersType807Sub, self).__init__(Offer, **kwargs_) -supermod.OffersType807.subclass = OffersType807Sub -# end class OffersType807Sub - - -class OfferType808Sub(supermod.OfferType808): - def __init__(self, OfferRules=None, Discount=None, Guests=None, **kwargs_): - super(OfferType808Sub, self).__init__(OfferRules, Discount, Guests, **kwargs_) -supermod.OfferType808.subclass = OfferType808Sub -# end class OfferType808Sub - - -class OfferRulesType809Sub(supermod.OfferRulesType809): - def __init__(self, OfferRule=None, **kwargs_): - super(OfferRulesType809Sub, self).__init__(OfferRule, **kwargs_) -supermod.OfferRulesType809.subclass = OfferRulesType809Sub -# end class OfferRulesType809Sub - - -class OfferRuleType810Sub(supermod.OfferRuleType810): - def __init__(self, MinAdvancedBookingOffset=None, MaxAdvancedBookingOffset=None, LengthsOfStay=None, DOW_Restrictions=None, Occupancy=None, **kwargs_): - super(OfferRuleType810Sub, self).__init__(MinAdvancedBookingOffset, MaxAdvancedBookingOffset, LengthsOfStay, DOW_Restrictions, Occupancy, **kwargs_) -supermod.OfferRuleType810.subclass = OfferRuleType810Sub -# end class OfferRuleType810Sub - - -class LengthsOfStayType811Sub(supermod.LengthsOfStayType811): - def __init__(self, LengthOfStay=None, **kwargs_): - super(LengthsOfStayType811Sub, self).__init__(LengthOfStay, **kwargs_) -supermod.LengthsOfStayType811.subclass = LengthsOfStayType811Sub -# end class LengthsOfStayType811Sub - - -class LengthOfStayType812Sub(supermod.LengthOfStayType812): - def __init__(self, Time=None, TimeUnit=None, MinMaxMessageType=None, **kwargs_): - super(LengthOfStayType812Sub, self).__init__(Time, TimeUnit, MinMaxMessageType, **kwargs_) -supermod.LengthOfStayType812.subclass = LengthOfStayType812Sub -# end class LengthOfStayType812Sub - - -class DOW_RestrictionsType815Sub(supermod.DOW_RestrictionsType815): - def __init__(self, ArrivalDaysOfWeek=None, DepartureDaysOfWeek=None, **kwargs_): - super(DOW_RestrictionsType815Sub, self).__init__(ArrivalDaysOfWeek, DepartureDaysOfWeek, **kwargs_) -supermod.DOW_RestrictionsType815.subclass = DOW_RestrictionsType815Sub -# end class DOW_RestrictionsType815Sub - - -class ArrivalDaysOfWeekType816Sub(supermod.ArrivalDaysOfWeekType816): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(ArrivalDaysOfWeekType816Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.ArrivalDaysOfWeekType816.subclass = ArrivalDaysOfWeekType816Sub -# end class ArrivalDaysOfWeekType816Sub - - -class DepartureDaysOfWeekType817Sub(supermod.DepartureDaysOfWeekType817): - def __init__(self, Mon=None, Tue=None, Weds=None, Thur=None, Fri=None, Sat=None, Sun=None, **kwargs_): - super(DepartureDaysOfWeekType817Sub, self).__init__(Mon, Tue, Weds, Thur, Fri, Sat, Sun, **kwargs_) -supermod.DepartureDaysOfWeekType817.subclass = DepartureDaysOfWeekType817Sub -# end class DepartureDaysOfWeekType817Sub - - -class OccupancyType818Sub(supermod.OccupancyType818): - def __init__(self, AgeQualifyingCode=None, MinAge=None, MaxAge=None, MinOccupancy=None, MaxOccupancy=None, **kwargs_): - super(OccupancyType818Sub, self).__init__(AgeQualifyingCode, MinAge, MaxAge, MinOccupancy, MaxOccupancy, **kwargs_) -supermod.OccupancyType818.subclass = OccupancyType818Sub -# end class OccupancyType818Sub - - -class DiscountType822Sub(supermod.DiscountType822): - def __init__(self, Percent=None, NightsRequired=None, NightsDiscounted=None, DiscountPattern=None, **kwargs_): - super(DiscountType822Sub, self).__init__(Percent, NightsRequired, NightsDiscounted, DiscountPattern, **kwargs_) -supermod.DiscountType822.subclass = DiscountType822Sub -# end class DiscountType822Sub - - -class GuestsType825Sub(supermod.GuestsType825): - def __init__(self, Guest=None, **kwargs_): - super(GuestsType825Sub, self).__init__(Guest, **kwargs_) -supermod.GuestsType825.subclass = GuestsType825Sub -# end class GuestsType825Sub - - -class GuestType826Sub(supermod.GuestType826): - def __init__(self, AgeQualifyingCode=None, MaxAge=None, MinCount=None, FirstQualifyingPosition=None, LastQualifyingPosition=None, **kwargs_): - super(GuestType826Sub, self).__init__(AgeQualifyingCode, MaxAge, MinCount, FirstQualifyingPosition, LastQualifyingPosition, **kwargs_) -supermod.GuestType826.subclass = GuestType826Sub -# end class GuestType826Sub - - -class DescriptionType828Sub(supermod.DescriptionType828): - def __init__(self, Name=None, ListItem=None, Image=None, Text=None, URL=None, **kwargs_): - super(DescriptionType828Sub, self).__init__(Name, ListItem, Image, Text, URL, **kwargs_) -supermod.DescriptionType828.subclass = DescriptionType828Sub -# end class DescriptionType828Sub - - -class TextType829Sub(supermod.TextType829): - def __init__(self, TextFormat=None, Language=None, valueOf_=None, **kwargs_): - super(TextType829Sub, self).__init__(TextFormat, Language, valueOf_, **kwargs_) -supermod.TextType829.subclass = TextType829Sub -# end class TextType829Sub - - -class ErrorsType835Sub(supermod.ErrorsType835): - def __init__(self, Error=None, **kwargs_): - super(ErrorsType835Sub, self).__init__(Error, **kwargs_) -supermod.ErrorsType835.subclass = ErrorsType835Sub -# end class ErrorsType835Sub - - -class ErrorType836Sub(supermod.ErrorType836): - def __init__(self, Type=None, Code=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(ErrorType836Sub, self).__init__(Type, Code, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.ErrorType836.subclass = ErrorType836Sub -# end class ErrorType836Sub - - -class WarningsType838Sub(supermod.WarningsType838): - def __init__(self, Warning=None, **kwargs_): - super(WarningsType838Sub, self).__init__(Warning, **kwargs_) -supermod.WarningsType838.subclass = WarningsType838Sub -# end class WarningsType838Sub - - -class WarningType839Sub(supermod.WarningType839): - def __init__(self, Type=None, RecordID=None, Status=None, valueOf_=None, mixedclass_=None, content_=None, **kwargs_): - super(WarningType839Sub, self).__init__(Type, RecordID, Status, valueOf_, mixedclass_, content_, **kwargs_) -supermod.WarningType839.subclass = WarningType839Sub -# end class WarningType839Sub - - -def get_root_tag(node): - tag = supermod.Tag_pattern_.match(node.tag).groups()[-1] - rootClass = None - rootClass = supermod.GDSClassesMapping.get(tag) - if rootClass is None and hasattr(supermod, tag): - rootClass = getattr(supermod, tag) - return tag, rootClass - - -def parse(inFilename, silence=False): - parser = None - doc = parsexml_(inFilename, parser) - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = supermod.OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - sys.stdout.write('\n') - rootObj.export( - sys.stdout, 0, name_=rootTag, - namespacedef_='', - pretty_print=True) - return rootObj - - -def parseEtree(inFilename, silence=False): - parser = None - doc = parsexml_(inFilename, parser) - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = supermod.OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode) - mapping = {} - rootElement = rootObj.to_etree(None, name_=rootTag, mapping_=mapping) - reverse_mapping = rootObj.gds_reverse_node_mapping(mapping) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - content = etree_.tostring( - rootElement, pretty_print=True, - xml_declaration=True, encoding="utf-8") - sys.stdout.write(content) - sys.stdout.write('\n') - return rootObj, rootElement, mapping, reverse_mapping - - -def parseString(inString, silence=False): - if sys.version_info.major == 2: - from StringIO import StringIO - else: - from io import BytesIO as StringIO - parser = None - rootNode= parsexmlstring_(inString, parser) - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = supermod.OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - rootNode = None - if not silence: - sys.stdout.write('\n') - rootObj.export( - sys.stdout, 0, name_=rootTag, - namespacedef_='') - return rootObj - - -def parseLiteral(inFilename, silence=False): - parser = None - doc = parsexml_(inFilename, parser) - rootNode = doc.getroot() - rootTag, rootClass = get_root_tag(rootNode) - if rootClass is None: - rootTag = 'OTA_PingRQ' - rootClass = supermod.OTA_PingRQ - rootObj = rootClass.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - if not SaveElementTreeNode: - doc = None - rootNode = None - if not silence: - sys.stdout.write('#from ??? import *\n\n') - sys.stdout.write('import ??? as model_\n\n') - sys.stdout.write('rootObj = model_.rootClass(\n') - rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) - sys.stdout.write(')\n') - return rootObj - - -USAGE_TEXT = """ -Usage: python ???.py -""" - - -def usage(): - print(USAGE_TEXT) - sys.exit(1) - - -def main(): - args = sys.argv[1:] - if len(args) != 1: - usage() - infilename = args[0] - parse(infilename) - - -if __name__ == '__main__': - #import pdb; pdb.set_trace() - main() diff --git a/src/test.xml b/src/test.xml deleted file mode 100644 index e69de29..0000000 diff --git a/uv.lock b/uv.lock index c644d33..b629a27 100644 --- a/uv.lock +++ b/uv.lock @@ -9,12 +9,25 @@ source = { virtual = "." } dependencies = [ { name = "generateds" }, { name = "lxml" }, + { name = "xsdata", extra = ["cli", "lxml", "soap"] }, + { name = "xsdata-pydantic", extra = ["cli", "lxml", "soap"] }, ] [package.metadata] requires-dist = [ { name = "generateds", specifier = ">=2.44.3" }, { name = "lxml", specifier = ">=6.0.1" }, + { name = "xsdata", extras = ["cli", "lxml", "soap"], specifier = ">=25.7" }, + { name = "xsdata-pydantic", extras = ["cli", "lxml", "soap"], specifier = ">=24.5" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 }, ] [[package]] @@ -57,6 +70,52 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175 }, ] +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295 }, +] + +[[package]] +name = "click-default-group" +version = "1.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz", hash = "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e", size = 3505 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/1a/aff8bb287a4b1400f69e09a53bd65de96aa5cee5691925b38731c67fc695/click_default_group-1.2.4-py2.py3-none-any.whl", hash = "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f", size = 4123 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "docformatter" +version = "1.7.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "charset-normalizer" }, + { name = "untokenize" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/7b/ee08cb5fe2627ed0b6f0cc4a1c6be6c9c71de5a3e9785de8174273fc3128/docformatter-1.7.7.tar.gz", hash = "sha256:ea0e1e8867e5af468dfc3f9e947b92230a55be9ec17cd1609556387bffac7978", size = 26587 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/b4/a7ec1eaee86761a9dbfd339732b4706db3c6b65e970c12f0f56cfcce3dcf/docformatter-1.7.7-py3-none-any.whl", hash = "sha256:7af49f8a46346a77858f6651f431b882c503c2f4442c8b4524b920c863277834", size = 33525 }, +] + [[package]] name = "generateds" version = "2.44.3" @@ -79,6 +138,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, ] +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, +] + [[package]] name = "lxml" version = "6.0.1" @@ -123,6 +194,77 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0a/44/9613f300201b8700215856e5edd056d4e58dd23368699196b58877d4408b/lxml-6.0.1-cp314-cp314-win_arm64.whl", hash = "sha256:2834377b0145a471a654d699bdb3a2155312de492142ef5a1d426af2c60a0a31", size = 3753901 }, ] +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, +] + +[[package]] +name = "pydantic" +version = "2.11.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/5d/09a551ba512d7ca404d785072700d3f6727a02f6f3c24ecfd081c7cf0aa8/pydantic-2.11.9.tar.gz", hash = "sha256:6b8ffda597a14812a7975c90b82a8a2e777d9257aba3453f973acd3c032a18e2", size = 788495 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/d3/108f2006987c58e76691d5ae5d200dd3e0f532cb4e5fa3560751c3a1feba/pydantic-2.11.9-py3-none-any.whl", hash = "sha256:c42dd626f5cfc1c6950ce6205ea58c93efa406da65f479dcb4029d5934857da2", size = 444855 }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688 }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808 }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580 }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859 }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810 }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498 }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611 }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924 }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196 }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389 }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223 }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473 }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269 }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921 }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162 }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560 }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777 }, +] + [[package]] name = "requests" version = "2.32.5" @@ -138,6 +280,32 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738 }, ] +[[package]] +name = "ruff" +version = "0.13.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ab/33/c8e89216845615d14d2d42ba2bee404e7206a8db782f33400754f3799f05/ruff-0.13.1.tar.gz", hash = "sha256:88074c3849087f153d4bb22e92243ad4c1b366d7055f98726bc19aa08dc12d51", size = 5397987 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/41/ca37e340938f45cfb8557a97a5c347e718ef34702546b174e5300dbb1f28/ruff-0.13.1-py3-none-linux_armv6l.whl", hash = "sha256:b2abff595cc3cbfa55e509d89439b5a09a6ee3c252d92020bd2de240836cf45b", size = 12304308 }, + { url = "https://files.pythonhosted.org/packages/ff/84/ba378ef4129415066c3e1c80d84e539a0d52feb250685091f874804f28af/ruff-0.13.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:4ee9f4249bf7f8bb3984c41bfaf6a658162cdb1b22e3103eabc7dd1dc5579334", size = 12937258 }, + { url = "https://files.pythonhosted.org/packages/8d/b6/ec5e4559ae0ad955515c176910d6d7c93edcbc0ed1a3195a41179c58431d/ruff-0.13.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5c5da4af5f6418c07d75e6f3224e08147441f5d1eac2e6ce10dcce5e616a3bae", size = 12214554 }, + { url = "https://files.pythonhosted.org/packages/70/d6/cb3e3b4f03b9b0c4d4d8f06126d34b3394f6b4d764912fe80a1300696ef6/ruff-0.13.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80524f84a01355a59a93cef98d804e2137639823bcee2931f5028e71134a954e", size = 12448181 }, + { url = "https://files.pythonhosted.org/packages/d2/ea/bf60cb46d7ade706a246cd3fb99e4cfe854efa3dfbe530d049c684da24ff/ruff-0.13.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff7f5ce8d7988767dd46a148192a14d0f48d1baea733f055d9064875c7d50389", size = 12104599 }, + { url = "https://files.pythonhosted.org/packages/2d/3e/05f72f4c3d3a69e65d55a13e1dd1ade76c106d8546e7e54501d31f1dc54a/ruff-0.13.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c55d84715061f8b05469cdc9a446aa6c7294cd4bd55e86a89e572dba14374f8c", size = 13791178 }, + { url = "https://files.pythonhosted.org/packages/81/e7/01b1fc403dd45d6cfe600725270ecc6a8f8a48a55bc6521ad820ed3ceaf8/ruff-0.13.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:ac57fed932d90fa1624c946dc67a0a3388d65a7edc7d2d8e4ca7bddaa789b3b0", size = 14814474 }, + { url = "https://files.pythonhosted.org/packages/fa/92/d9e183d4ed6185a8df2ce9faa3f22e80e95b5f88d9cc3d86a6d94331da3f/ruff-0.13.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c366a71d5b4f41f86a008694f7a0d75fe409ec298685ff72dc882f882d532e36", size = 14217531 }, + { url = "https://files.pythonhosted.org/packages/3b/4a/6ddb1b11d60888be224d721e01bdd2d81faaf1720592858ab8bac3600466/ruff-0.13.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4ea9d1b5ad3e7a83ee8ebb1229c33e5fe771e833d6d3dcfca7b77d95b060d38", size = 13265267 }, + { url = "https://files.pythonhosted.org/packages/81/98/3f1d18a8d9ea33ef2ad508f0417fcb182c99b23258ec5e53d15db8289809/ruff-0.13.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0f70202996055b555d3d74b626406476cc692f37b13bac8828acff058c9966a", size = 13243120 }, + { url = "https://files.pythonhosted.org/packages/8d/86/b6ce62ce9c12765fa6c65078d1938d2490b2b1d9273d0de384952b43c490/ruff-0.13.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:f8cff7a105dad631085d9505b491db33848007d6b487c3c1979dd8d9b2963783", size = 13443084 }, + { url = "https://files.pythonhosted.org/packages/a1/6e/af7943466a41338d04503fb5a81b2fd07251bd272f546622e5b1599a7976/ruff-0.13.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:9761e84255443316a258dd7dfbd9bfb59c756e52237ed42494917b2577697c6a", size = 12295105 }, + { url = "https://files.pythonhosted.org/packages/3f/97/0249b9a24f0f3ebd12f007e81c87cec6d311de566885e9309fcbac5b24cc/ruff-0.13.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:3d376a88c3102ef228b102211ef4a6d13df330cb0f5ca56fdac04ccec2a99700", size = 12072284 }, + { url = "https://files.pythonhosted.org/packages/f6/85/0b64693b2c99d62ae65236ef74508ba39c3febd01466ef7f354885e5050c/ruff-0.13.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cbefd60082b517a82c6ec8836989775ac05f8991715d228b3c1d86ccc7df7dae", size = 12970314 }, + { url = "https://files.pythonhosted.org/packages/96/fc/342e9f28179915d28b3747b7654f932ca472afbf7090fc0c4011e802f494/ruff-0.13.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:dd16b9a5a499fe73f3c2ef09a7885cb1d97058614d601809d37c422ed1525317", size = 13422360 }, + { url = "https://files.pythonhosted.org/packages/37/54/6177a0dc10bce6f43e392a2192e6018755473283d0cf43cc7e6afc182aea/ruff-0.13.1-py3-none-win32.whl", hash = "sha256:55e9efa692d7cb18580279f1fbb525146adc401f40735edf0aaeabd93099f9a0", size = 12178448 }, + { url = "https://files.pythonhosted.org/packages/64/51/c6a3a33d9938007b8bdc8ca852ecc8d810a407fb513ab08e34af12dc7c24/ruff-0.13.1-py3-none-win_amd64.whl", hash = "sha256:3a3fb595287ee556de947183489f636b9f76a72f0fa9c028bdcabf5bab2cc5e5", size = 13286458 }, + { url = "https://files.pythonhosted.org/packages/fd/04/afc078a12cf68592345b1e2d6ecdff837d286bac023d7a22c54c7a698c5b/ruff-0.13.1-py3-none-win_arm64.whl", hash = "sha256:c0bae9ffd92d54e03c2bf266f466da0a65e145f298ee5b5846ed435f6a00518a", size = 12437893 }, +] + [[package]] name = "six" version = "1.17.0" @@ -147,6 +315,42 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, ] +[[package]] +name = "toposort" +version = "1.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/19/8e955d90985ecbd3b9adb2a759753a6840da2dff3c569d412b2c9217678b/toposort-1.10.tar.gz", hash = "sha256:bfbb479c53d0a696ea7402601f4e693c97b0367837c8898bc6471adfca37a6bd", size = 11132 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/17/57b444fd314d5e1593350b9a31d000e7411ba8e17ce12dc7ad54ca76b810/toposort-1.10-py3-none-any.whl", hash = "sha256:cbdbc0d0bee4d2695ab2ceec97fe0679e9c10eab4b2a87a9372b929e70563a87", size = 8500 }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614 }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552 }, +] + +[[package]] +name = "untokenize" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f7/46/e7cea8159199096e1df52da20a57a6665da80c37fb8aeb848a3e47442c32/untokenize-0.1.1.tar.gz", hash = "sha256:3865dbbbb8efb4bb5eaa72f1be7f3e0be00ea8b7f125c69cbd1f5fda926f37a2", size = 3099 } + [[package]] name = "urllib3" version = "2.5.0" @@ -155,3 +359,55 @@ sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599 wheels = [ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795 }, ] + +[[package]] +name = "xsdata" +version = "25.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/cf/d393286e40f7574c5d662a3ceefcf8e4cd65e73af6e54db0585c5b17c541/xsdata-25.7.tar.gz", hash = "sha256:1291ef759f4663baadb86562be4c25ebfc0003ca0debae3042b0067663f0c548", size = 345469 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/10/c866e7b0fd57c92a4d5676884b81383005d81f8d7f07f1ac17e9c0ab3643/xsdata-25.7-py3-none-any.whl", hash = "sha256:d50b8c39389fd2b7283767a68a80cbf3bc51a3ede9cc3fefb30e84a52c999a9d", size = 234469 }, +] + +[package.optional-dependencies] +cli = [ + { name = "click" }, + { name = "click-default-group" }, + { name = "docformatter" }, + { name = "jinja2" }, + { name = "ruff" }, + { name = "toposort" }, +] +lxml = [ + { name = "lxml" }, +] +soap = [ + { name = "requests" }, +] + +[[package]] +name = "xsdata-pydantic" +version = "24.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "xsdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/5e/6bc728d70460d9ad3982d05c3765179e3584fee6fa523d57b242e6e4c50f/xsdata_pydantic-24.5.tar.gz", hash = "sha256:e3c8758133195657ece578537eda6c7ebd8419f77abf6b90fd4ced96e348129b", size = 18763 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/7b/785fe71aa1138d7380ab3926cbb9571896d56544901c320953ff8a586926/xsdata_pydantic-24.5-py3-none-any.whl", hash = "sha256:bb6da7d3445d655640096c65c1b11037153b19df533da89553f24247ef352cd0", size = 8891 }, +] + +[package.optional-dependencies] +cli = [ + { name = "xsdata", extra = ["cli"] }, +] +lxml = [ + { name = "lxml" }, +] +soap = [ + { name = "requests" }, +] From a9116b0e0c158f807c8066a224bb39ef56838df5 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 11:18:57 +0200 Subject: [PATCH 03/16] xsdaata with pydantic works but using the classes manually aint a good idea --- src/main.py | 125 +++++++++++++++++++++++-------------------------- src/output.xml | 43 ++++++++++++----- 2 files changed, 91 insertions(+), 77 deletions(-) diff --git a/src/main.py b/src/main.py index 3470ecf..42eef3b 100644 --- a/src/main.py +++ b/src/main.py @@ -28,59 +28,8 @@ def validate_dataclass_patterns(obj) -> None: validate_dataclass_patterns(item) def main(): - # Success - just use object() since it's defined as Optional[object] - success = object() - - # Now we need to create the missing nested classes that aren't fully defined - # Let's create minimal implementations for the empty classes - - # Create basic implementations for the empty nested classes - class RoomType(ab.BaseModel): - room_type_code: str = "A" - room_classification_code: str = "5" - room_type: str = "8" - - class GuestCount(ab.BaseModel): - count: int = 1 - - class TimeSpanImpl(ab.BaseModel): - start: str - end: str - - class PersonName(ab.BaseModel): - given_name: str - surname: str - - class Customer(ab.BaseModel): - language: str = "de" - gender: str = "Male" # Use valid gender - person_name: PersonName - - class Profile(ab.BaseModel): - customer: Customer - - class ProfileInfo(ab.BaseModel): - profile: Profile - - class Profiles(ab.BaseModel): - profile_info: ProfileInfo - - class ResGuest(ab.BaseModel): - profiles: Profiles - - class HotelReservationId(ab.BaseModel): - res_id_type: str - res_id_source_context: str - res_id_value: str - res_id_source: str - - # Build the structure using the Pydantic models - person_name = PersonName(given_name="Otto", surname="Mustermann") - customer = Customer(person_name=person_name) - profile = Profile(customer=customer) - profile_info = ProfileInfo(profile=profile) - profiles = Profiles(profile_info=profile_info) - res_guest = ResGuest(profiles=profiles) + # Success - use None instead of object() for cleaner XML output + success = None # UniqueID unique_id = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.UniqueId( @@ -88,28 +37,70 @@ def main(): id="6b34fe24ac2ff811" ) + # TimeSpan - use the actual nested class + time_span = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.TimeSpan() + + # RoomStay with TimeSpan + room_stay = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay( + time_span=time_span + ) + room_stays = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays( + room_stay=[room_stay] + ) + + profile = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile( + customer=ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer( + person_name=ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.PersonName( + given_name="John", + surname="Doe" + ) + ) + ) + + # Use the actual nested Profiles class + + + profile_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo( + profile=profile) + + profiles = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles(profile_info=profile_info) + + # ResGuest + res_guest = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest( + profiles=profiles + ) + res_guests = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests( + res_guest=res_guest + ) + + # Use the actual nested HotelReservationIds class + hotel_res_ids = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds( + hotel_reservation_id=[] + ) + # Basic property info basic_property_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.BasicPropertyInfo( hotel_code="123", hotel_name="Frangart Inn" ) - # Build a minimal reservation structure + # ResGlobalInfo + res_global_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo( + hotel_reservation_ids=hotel_res_ids, + basic_property_info=basic_property_info + ) + + # Hotel Reservation hotel_reservation = ab.OtaResRetrieveRs.ReservationsList.HotelReservation( create_date_time=datetime.now(timezone.utc).isoformat(), res_status=ab.HotelReservationResStatus.REQUESTED, room_stay_reservation="true", - unique_id=unique_id + unique_id=unique_id, + room_stays=room_stays, + res_guests=res_guests, + res_global_info=res_global_info ) - # Add the basic property info to res_global_info - res_global_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo( - basic_property_info=basic_property_info - ) - - # Update the hotel reservation with all required fields - hotel_reservation.res_global_info = res_global_info - reservations_list = ab.OtaResRetrieveRs.ReservationsList(hotel_reservation=[hotel_reservation]) # Root element @@ -135,7 +126,10 @@ def main(): ) serializer = XmlSerializer(config=config) - xml_string = serializer.render(ota_res_retrieve_rs) + + # Use ns_map to control namespace prefixes - set default namespace + ns_map = {None: "http://www.opentravel.org/OTA/2003/05"} + xml_string = serializer.render(ota_res_retrieve_rs, ns_map=ns_map) with open('output.xml', 'w', encoding='utf-8') as outfile: outfile.write(xml_string) @@ -156,12 +150,11 @@ def main(): parsed_result = parser.from_string(xml_content, ab.OtaResRetrieveRs) print("โœ… Round-trip validation successful!") - print(f"Parsed reservation status: {parsed_result.res_status}") + print(f"Parsed reservation status: {parsed_result.reservations_list.hotel_reservation[0].res_status}") except Exception as e: print(f"โŒ Validation/Serialization failed: {e}") - if __name__ == "__main__": main() \ No newline at end of file diff --git a/src/output.xml b/src/output.xml index a8c0571..8b22f0d 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,12 +1,33 @@ - - <object object at 0x7fd2fa5a0f40> - - - - - - - - - + + + + + + + + + + + + + + + + + John + Doe + + + + + + + + + + + + + + From f70f9d2853b32f5d754795e4daf1ec7505f89c4b Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 14:48:30 +0200 Subject: [PATCH 04/16] Added an elegant simplified creation method for customers --- .../AlpineBits-HotelData-2024-10.pdf | Bin 5801285 -> 1042895 bytes pyproject.toml | 1 + src/alpinebits_guestrequests.py | 59 +- src/generated/alpinebits.py | 1016 +++++++---------- src/main.py | 145 ++- src/output.xml | 22 +- src/simplified_access.py | 230 ++++ uv.lock | 2 + 8 files changed, 785 insertions(+), 690 deletions(-) create mode 100644 src/simplified_access.py diff --git a/AlpineBits-HotelData-2024-10/AlpineBits-HotelData-2024-10.pdf b/AlpineBits-HotelData-2024-10/AlpineBits-HotelData-2024-10.pdf index 0ea9a944e754641cf183ddd90ccca8bfcab31d94..ac562095f5937035c851e1bb02efa73ac5101eaa 100644 GIT binary patch delta 777186 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 z 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­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

ni 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%0DUZ}C(ERR@PuH-JTm6zh?{uC#c?Lc#BB#PC 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�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 literal 5801285 zcmeFZS6EZsw>OHf1qDR`5m6DO7Xcxm7ZoDCL+C}M*B~WGXey!<5g{T{LX}QHS|Wsi zsDMii^1AlKwN#3|2A$;QoKk)mPMu6P^TR#x^-+oF;bdFvQ2OLZM zSIz^y9XZ8R?ELIJV9o%&cFvBzoFJfsA)T16ohNVumOZ@F^Y`;`^#UHqO355PIq0ly zchAwoms4C^{J%T|hz16Q`a1r7hfYk-+tKUxA5=Llr4C-_6jOEeQ|FWcONh$ITGNS{ zxH<+n`sn*OIyw3{df5Z>90&&D>g(-c7YKpbABxD&$KR0-;N(Bd9MJl&82>QyhX+7( zFn=#UPH`zPotT!ZgYVyIL4Vlc1RsdskQ4leRZg(v;hprKi_GCg_OMO%uuYcw@bGo< z8;9?U-#F|fe&ev0_>IGE;^NeMi5q{06qf)~uYX|T6bDi7LDYLHJ>pb?#1B#D6qlsV zBY6m#xFof|6!p0jb$%&oyYzu@4LQZ7sdUOv?`5d;PCnQ|FbT(nIA}LY8_@6{ZALni7Bcl|38>M3pCqDo+qq zjvy-kAgVk;;)nBts5pQm4#x*c9P$s6IK&wwK^+%#NI!^*3y6vfh$?RoRo)<~27;*g zfT;L@sPYC;rLaRE_r0m&T74MdecNR~<;RS!V2 zhd6>{5Bq^{9JYgRQ17XDfT=iusW^bCIDo1AgC!1e0)r0e0#o$^3_7G6OvM2VrnXb{ z1pL<$sW^bCIDn~k0G2$&8BEm^FclXt6&Em7Kfuz5asf+I>89ENSmsb)z%qw?f~k0b zsd#{?cz~(;AxY(5lBy4qRQ@H!566+D@-Io{Uy`Z^l2rSUq}qohm2XKZ-;z|hOH%oe zq{>lJ<`54_Djkwk{gk?Ks83QClKHWk1px#ge$$>2YzGD2Z?>&ejfD8Bg z8%A^-9bD~{VGlSh4``E=l@tZQkpYVz`h682nD_tKsO;hB=Q zfAITHEIQDs{~I3vAI2BE^T1Ed$nPKpIEaU8AkIIAbs!iqGrfCmj`n_k8q5Gl51BCo zRP<0wfga)@Ak_SMe(-`S!1tfts$d|p9ClZg4s?!iO{ul{!- zN*zRQAZ-5&r6pCvL4W82T8w~LZSQxe3cj2-=){ce?)h?x8T~i)00yUO)4_{>(X+SX z6sHqY*5MS>h52~ec^uF{?RLQC-)@IWN5uh{(*K^{A2s|VEjlq%SBC>FzHtMXUER^u z*~O1j0xWqzvP928eIK+^&NdwV4mJE zuLG@?0nl;v@B?x>F;x#hE)Yk1Al;!8`)f0@k}{wJa;c{BAZ-C}jr`f1ywvJHXxZM= zS(EHN)FadNpaib7aiy${2z7|Rz8>SS@wo=Ql!L33OGrIdWPx#-e*U#Opp1Q+(WxQo zrwkZ+>>IHcblHHO^T;_K5Jw&3G4;LB_$(KeO`51_4TX*!?)c$Zn*aUzUj+Uaf&WF| z|33)avgxwl+P&upWx0475jwlEdcGk=F~bXsE2{j&;Im;py*rN&7~C%PpJ9dJo2qlh zt;q7GLD(@VGQ+=2m@#HWTAO)AeV{#l;WC7D&+|nRPrv1 zAN{wZRAOVMrTTojt=jIw#DoKj|1H?F>KjVDYPvd`w)ZtCbvoVC-l$8x! znb4pBW9HXvSFG+8hX>d$>4`M#d=J9S(s^>D`v_+hw+m`XR~NsW^J;z9k8NFpPQ!h^ zmakiFf56H4m3#_gU)rC<28Hd_&Zhh&D)SnC0TO5ra~v-d$h6Tz$T(x>*w=F3l<=f7-|@i?*6(#e5t zT|7~^02`<3?50@Yg$?rY86P|ULnL`r@JLQ~fs~lkLtl28IdsTaHJHKgqb1)1O~)nT zNJ+=hzwo+Gwjx_5`LOxN@GLVVTpm__EO?@>cIkQC6=CB+l~%v&WtLc-}jt-Hj zWBOqrJJ`Z* z05V9&G?*|1!H3+qcs}H^BUD&Pvdgx9ZnSPBLw7M~*;imtE@fl`UmPxt+%04e_S-;l zeA}(Md9-+}V)w5kX-dMq(NUpy@F6k^^OP>30f+px_0;qFPFZk8{Bp)gtstALn1X7+=Q>kYn}Z@_?Njer%&LsM^Ij& zL772eJIgJ=ghmLQueG*Mm_0k`h51uN;;WRg&B z)_=52e$3LYyt8TUy(ubS5QST!tH~1T9aLLfQhILX=Rczp`euN@s`YE*sMzKj9iIK~ zoNoL!$7|;h61#UF#oV<^5lS2u#N&HUC8djEinKYe)`xUfTokrfp{(n^d#hbG<4KsO zh>D78(+2N{Ef7Q4zRXJ78+c%ImPSJc1NRZ=;>(@0%T};>D>fdiV9xog;dQ|80DdiywvwkLM6V zun1S$Bep{Z_r8f_f0i@BFwt)gTj3SY6M~L&yruxA>jLgE?OCxjJyLG1F&wd@&sc5i z=F{-NR1H>-A}7sRbI2fn=ji(cEF9$z4gS@sQOLb%Td{ysrxVZ-`9L3V*Aj-^}6)2taM@ zZ`f?TuGzNd4^)|0Jd45(1{LxfJ?nBXArN5lUHulO4SzNAA^Tg7@`Oz?{^!r1URcXo z3BWl9^f4{M<29Pre-HyuVcV}0#Z5k`&Xe&rKX^ygaw>o5hqY^yKV>6uSQ|WXde>oT zvEQmL;kfr>%0vTxy4h$ARV@2#%!Y{Dg?A?YHMEDsYy$ZLic2^NP~&VY>peFhlh{~| zNo%xuImnTPEsKsFAnXQ_*Ve#e2@<=%+#9z*;g9whh$r#8i_mGJ!`I3Uq??S1z9($u zlk|GM?UkULZ`!;%;i|tB_wmG<>g3UXQxZzg8S})UMb>>6R#w*B`O0v_cIwh1@%bJ6 z#@x44Nkt5KjkH>ZV*v|i)8^w+N`Jq8*NxboopqIIvVQNlrRloSFtyJwdRd`?s1`+@ z%{OkWST&`E@ikg3J}O4bnl^-lgdwW;@%X)zzlQd~tDBzfw2vS`_PF={!^0_YVRNIq z4~*c-!#?zlZVmb2cUQk=oP9R;diI&LYs28YwT+EZ(7HB}eRD8igcDEX zKSwBA3@QtAF&t6c{o>?DDYA$yB z*uCxk-PwunVz&OI`r4&ofZHrz|6fi!jl?9>hAnY5X8-KpsUK1@*X9)3*1csq3LkAh z+nsON)2P{6$RmYrJnL%M4_(^dZVB28+YS39Hw^H(va-Ul_k$yJHP!iRy1#9mjNoK= zWNa^i1qhJ7+Z56oHpu23?)JNuMqJs({%!*~r|RFRDJLr{I}88%x$}Z^<$#`^-fGBd zu#7^`ukX{7MOCQ?dGMFKd9tvB3I+ZzaZ=uJINZl40Tvpx^!xYwFKr-Rto9w)Gs$pL z`a{ycs;Hl0Q)JNH=aLLUzJzUU{n*-nM(a6!Vp_JzGq>vOv%rSn z(5@Z$(CKdk=Kn+v8cpWXmUOMrtEW%whK9*pVK^Z>jok>=G(LrAA2^K&DoTi;z*+y} zgfn|<>gs~m7hHACaRhRDMn;@!PMX&H4Fqq}tKsW-;>M5ZBY<%@p5aWbic0&%>2=W>ieKY?Olo4_o3w+;A*v;rbJ?oq%+j!l2I@9-qE!h1CoXeMe}C41c8w zt#Q4N%Ib6=amS_w)S&V~Qasn?ggQ>RpX4z9A>FXqIXUU5YrYM50;`YsRLfIK(xuq5 z&xnng#e4)Y_omfjt2?`5+kDEz$JTd)=3ETUWGDvBZU1UT@{8G|{pJmQ(tVksa(bPE zgCip?c>VYCPlf)~_WX>{t>qSu)EBS)pVX-EI-h?r5T|i{ySqZUo8!~|tHAiifIb&L z#Qpo2bD!HfMhk>wFP>iMbJjuNsx|S%vR^^lB>AAPfeOil5+Iq}NlB{gF>_K1~ed|TvxxyE`ctZbG zYDv)B_*LCAWQ7M8ROR)u^iDD}DH8(sb~Xd+clEx0N+xT%bz##xYPKw*EYSL}v;MGL ztTQs$e7I2DF{_I=%|g}Q_q4bu~lmTyzLWFYF+H(L{*O;m;rjcw4 zo;FuL<6wW^u>B2RUxwbl95hzF<8w}Z(NyilzGHg{iS_!AtR4F;ak(AR;;6;;i|R$` zKOv~-=g^N1xRz1h6D;wzE4_v3v3od{&WM5FYiYDH?Cwqms+b?Iv|=afgLF&JPHN~~ zZv1sS>bzC%r&N#rqk<@Mr%Vc{tlHDlyMHvOlOyv>NF%^(XL(6+#upF=4@Wg%=ufD0rfvj9sV=4Eus^ZlAa9 zkuQ4La0Y+NHJ~K?BOS0@x1CKLTWZ*!#^Y{I#a%p5%hdwG;gLu1%(GZSk&;ulYwx37 z@c(@MHLLR)ZBsC&$UpduldUjtLHVIqv#KSF(pT@e2Xh*2dB+DO6?X6cJhe{~aYL~~ z6HG|)){Yx0`JV3o#G;yFZpN*C>RRx?Y4Y31hgVJ(p>8#H6*o4kb;*-u?Q#)8p-nP1 z9ieUf5gwF#OMscW)%LK8*#s{)v2HdwH{A09)0>C|UhLLWF#mC{l6M2}?)c!%iV^cR zV~-mbpR023_vJaQwH;QU#P4w6*+m+~V|a=d7<$XiWnw98z4_@V#~7r$ zYUGQaj^blqcvJ=Ng#3IgYOXw^)*2c-NT=~7)wSEq}SHcJNj=i12 zLNCfJ`Gx=YW4>Q*UeCt{VeW@++tvf63ENKS10BRRWt><0lfOrrKadX6GK|8OHgyj| z*wA^NGl4DVPnp9uAb27p1#Y(puJ~GX&M8ZnKWTt~5=yZV&MkWGdiDSj1zSpZAG}+3x z$n)EzexQorZl>Z?BeNdARGtcZGky>rFNbHU6je*WY3&r*C^NSo%-WdgsSaOCk{cEW z^z7Z^s+0&X3#*TnZ&^kX-JGp_TO~>v(H?}t*;B>d@48OB;vC`}s+uxHA#m?r=v2)< zm9@vNl01$vedOyQr%&3lo>)eme5gckA>K z{?&IpQEnDm4NpjWQ*O5CTZ{Yl`j<;J>Dvz~M(fp~mEB# z2-0t+#g?r452EfY-|m?hul z6ct_T{qji+T>0j?5b>NRF?x<{!)ePg*93=_gkbA>uAY}vv^lx)bdK!xyT$1 zp3#A!t~C-Wz$fJTvky8EA5IO@TbwLq-4p-)n7v_M92S%c84Zqec`Wbh@9iv!b@GRg ztHEe^)xSE$EtZ)*DT|vCBseVA&1I!ZC*xFl$yT1BXHIQBIfr8$(Qw0ccr^VUuFOwL zN@}~&_sNvgCuK+pPXxDyZLh(vjdq$`e?uf$PVTI07uNJJhHhlpb7U`7hNzWFLBfuWwhmYGf`j<;yGV!lc+0ZA2VW40T}RHQ&4{3~#$_jd|!nE$xf_ z(jB70t>FMSPwvWbJdXIT`qkw056gFnON=_+1R;#@D}CA6vcd9fwG%YC8Zo4(iTbHk zzKudqu%5mUg=%8+(-I7Wu7h1GM-%V)-#XX8!EwjJz=~sbO9IRd*8}l~i&_`5@}Lm)aYf z2>YMjKP82o2vtpD@38ApQPMX*ufHaJ&Oj$J(tfe5*G75LclRln+kHr}eaW+DjFx5+ zp*Q*l$5^!nE1S7Yw+(a;*E$gfCCVjh zioQYOg^Ms2%5Q^JTXJZ3!9@*+ZWkm(uB=5ewT3_yvxP7|mXgDAb9Rs3XpcmtMJC+n z^qjxZ>b=6SccS`TYG%9r5xLJMvf{^iU~dn#-LyE@F@m`J@@t9bm8UFBlkvDjiX|7JtK5n z@%O<7`tI}57_>j2rt0If+w)RsqV8_RkCBN(qP*D-%4Jf7m`0t7TBYFXTp3wLA{|a! zmuq-*!of&hFK?R;V-zmjm%a7vy7UzLvr6XpA?}oc0d6Lbd|8B19_AAI6l};{(rx;w z!+2kfO^B<4r8ZCNoKKb}lo6h4e9#^#a?M1) zqHP>-b^L85e(PhC>e=pS0^+s7jxl*uT;3exiAK7AWWUUt^ZZwou8D}bCS)oIB6)gv zU`^|Xg}(+gIZEL78KyADw(8Xx$(I!yC&4k9*3%jgpE&hm4_smpL|NGzLZ}J3;^)~f zKE_>v?rjTXoF%&_wfFr3f7VHtEK`hnr2YOukZ!WH{uHoMWF~aGfG@83!jebiWo0!| zoqI}1HtHWcXCDDU@99aCl*je8Ky~Ha(~!#1#jrlH-=q2d2pqG(2inl(=IwFCtgKqn z-XdZtwtC5$y)WRA^v@jWhB2*-syC!i|KHPP@>nFkKazZ~48uKfPi=WP^+;nqK*AI2 z?!tZA0y=zM;uyiCOI1o|ROjtcyG+j%rqL;kkX4CuD)hc^b#mT-K{nbTE*51qf>cC^Tc4gUntI9FL-^!;gsuG?HVl$7g=+>Z&D{hMk(Vzffc&Pk}eoJ@|or_d?g)F(ZY2#So@P~mSj!Uy5?{Bgl%ulboSrwrr2EB z-peNKZGD=Z&%y57FA?`o^K5{DQg_42Ou)lFeBD8D&}>i?scY&$NQgY6IP_r1R&x%i z1IYViA|mOguOi#E!w}=%YnAOyXrQ=e!WKn?$KcU z(h-xH*i8FU(wy_@m|a7{ zowB5WJFgxP+U`{E01517Zdc>?orQ(9-@j#?DJcU4(A6^@NYWzGzkG%~FAP+k0)W)6 ze{Z{Nkr*Oq8)A*vu6j>e%sL2U+xmuYFNGHrKD1HT(hu9Xm)N5fYn7mfT)IxsRY7yh zDZ8D^fAKD)pgrw!?MQs|WHsztN|eP4*Tww&(l1f@KdPB)&_V_w*KUz|9Nj!EzxZ?# zAJAna=yNrGOSdjb;NWg*y<+7Yc*(g9UV{==D}nitrp0OFSnLPVdfVEVwF^0SI&a-aGFnaX0tg z8{PU&2G;WXD@hF<=89|Z+YuLpOx|i5ICK+OM7jy~b~^{PK>(@Nq&QOPEf_5g4Rg1{ zyEPdv3F&Ir+b!PXHD>Xi687*`_z$C&Xvka7JF#}ih|l@R*Inn@HP$Kug(@@~T|ml~ zg$n$9uXc#=diZfF9}B>TRCoOU@0RZ>Z`0x*#0_@}kC-KztJODmtw z;U;n)_jFhGDsFGMUF5=^n2$((RE5aB zf9n<|5v71Lvs`txA@HjCe@qH<-nJA8Nf~Q(dpr6*MSR*p<#(FlHJ4~1a$Q~!Bu`V` zwo@_Ny_IqtTZNpALEpnM@C)|`>}~2M(nu;F;ZHg__SkdIC{c)Lc&*@`WrQk|f&3Dq z`cOT@*eFf_hn9+uEP4sASb2lZ)^*)_N1lx$bAC-%+#Zh+ql+pS`FTE}B1GG8T4IL$ zm`=pFL_P8GV^X@lGHhcZ+&jE`dt@BHm*vZTaw(TLfd5=>9I%nAlhir*vlgZQzoV0SBz;^ndSVUt(4nE7#X z{O(AN9uuu0z9<1hYd_EG-fmhff(axmtH+gq)L^lcy;dT_n44xL$0&Kn0O%ZrLA!aN zWeMsr!s(GkLnin8wwU9Q{U$n?z<-Q+8E=1l&6~Z2fcRK?3Nb?MhFjf+*OQTFqSW`g z7v6@JI5&FM@?$EktgI$7#;#@$MsM%d#e8T_`2F92bqd|)`SuAvfA)3Lx^&r6(BKBD zm|LxIl$UqomdA!ij!YeZ?PaBaHzV89>-eQJ-103#GiJhr@G2S_mgG*5xxo79(Y-wtSAm)u zjEfN(U#4?&4Vrf4)dRL<%&y_W_1(~h!FDm$4Q<2qrlw(Uvs(h8YcqCTm$I?+Ugr<| z&h6VUJpsuE#UMwfjky`8ihUpvYOI=*NZ4+~jV-21=@J?7#536VUD7_WYQu`yOWPvn z$EWrJRa{rT4!AEGGx~1%tdaWrW|!>TE?%d-gT9cRINpCt?~0@L9m|$r8@2PvIzJ0D zhk9r}gU((hI!KG&|HU;VXTc~@GoP-x)&B7FVH0FKxW9Nnp-cLz{~Og z4C|_Sz^99oug0gHy8@IM#TXOQ$8B=k=Um*2+hl}q0YNPHn^WQ5#)+f&y`8mLB&(S2 z3P+3d=B!>=O8(RTr`_wqHa=7OS%9tc)!kw|VY!~UTwEpdl6|!#>}L%8T{Qp zwU?k1KDpq;t#rAqN(7D7>kN0CbjU)}g|B@vspB%Tgd)%8em7CSXBbk!6hCUhOQ36g zn*fZ&!faq96rJ|@d2|L#DUuW0k6?<={Ox!wI|VsuDaOqh6|0F!BotlAtYtD#2}!?@ zz{c75jKa%xyUX*P8V|NVkI7)R`sZ8PPT92UYi<&cV@UO?z+s76qF3m!FZj~#IBUbV zt8+~;$i~c6TP4a_|KJ@?J>G7@acR1PSRwGIoLdJSTBKZi-$gQaxZ_6!`PcSCeTAAaC%)Aojxvwbe z3sJaS)ug}^O8&!AS=hm82W$v=lqHXue_r9_6lI27T0rZB?KeEqmYaPt!=(FK#Eb)9 zc14_)1arKf;ilxHDInTA7{4#cksvh{OwYQZbzkdQSZHN8mD* z=>d*;S>o5{$d7w_XxHW&5^DR=*lmIGU2^gEoi3lXDa2USlkL1Y@_<2vBsphgpnl1U zUArt?4X7oPAu0OK(%i*xxn+`GtwmvLf8Hi2nI5f$%y}Z6iB|t2aSgACR%QG6+u+>d zXVU=d<=q*FLT#fE9!sq%c4<(9HN4^--LsTl7q{uT-5J$$BQ-lV@aAK#_d6^d71?^- z%DV%b;9eGVGN4;N@*5N8jV%6O=%NI2&~yl#ORBiMX*$cOK9`$YEW?joMt{?oWMHHA8 zfo{o9kKb@6hgi{p$(`1L-X@(C^LZuuUN;YUd1MdzCiaTV@HZ3Z)F&yP*2wYmE%+-R z?{zimTbP9)u8UZR(tZJjrFg^@5QF;AfP3f9E_|c?#8Vu^9M8?i{Bxi@mM{Cnl2{0n z5rI1;O(6;+2(IpTMMZs?aB#jpo56y*&d)XYQoD#J+d(kM)3Vd-xCO(@y3?U1T*@%L zmto$M5HPX!YP`W?Op}mKwsEgIm(Z@tlCe7EA!v(&aZWoy=CWGZHS)wVX z!d(g${~V}Z`ws!*kuvNCa%N88(&!X$Y$YdP@OVC))~J!suN>VS7V0wJ!>9snALob6nt{j8>%N6R#=7J@@q68Il#5io)Zq;7{LjR zI19DH;`ja4t5wLbR=qN^n~PzfFhm5C$e3WEl&aD_0;BI%}T(KL&2_mZtz_AD3X+PRA7A1>Z(M@{BXD z3>kA3DbGT{lKjm6rkGzz_oM~i=c(D6eEIq{=+1?2T{4Hr9vF3QW|cXtEC*bQZ4l1K zUWTjy$F<}i@%er~Z`EQWu$M)$TEdy`-CUF(d9w3f zB8RlMt!vdLFe8N`jI9`oY)v7gYSaWJll%n(gaUOVK}ND+oVq$6)T5XuTj)AZcEtBK z-PcGB`7lBF%g0QPVK*+GRJ+XZY?F2EWa4IM-Uq^Mm^AC!y3lbvUIek--$*Fl^>*8$ zYk%as8-MxOWTw6&jT9J z!`2M?3Q}p6)e>n|YFrle;TIzA`97>$&i+un;LvE|(^rRts_2XqT^UVAceN^8c2;#F zBda{23|^~I>PhE>__!Kd(K-+i|5twIO;c4&XJTZujI6V~ts0k*i)CM{r#hs)rH?;* z{D@)9og`gIC0u6T^5rl$Q!T2WIsUv=C0d)rF)yMCp{z%CY^Won)Cs9=(qP}J#!gL0 zL|R>wO69=HO!udqxl)T@Rhg0DVe`HI@BK#{kJvsUc?r#sq0zSGHhLT<*Vdm%0>#B8 z+cDgB>6=fh$0t9WYVUIjWE(nF<$jj*x$HvGAWOLU<2l9N-%Tp{EBE-?`E@b^+TYZ4 zM~}|rk;a}k>)YdziD>6{IxpUtRpbTdd*b`P^;Boe7VD1E)ct;_t1y!~oVQ-!voh4Y zZBz5p_){e}`j&MW((QpO!NvR9(4`T#wS)BQ7%Q6@BFR>kI-~p042Lz;U(1Gdw3#{bVV-G>xx>cy<34Q~VVxBQBrH5uvC^NM8|z2WRT-lgex`5?ibXsRfEW5aT>G zhiM%Mn{`V?lmIBXFFrC4xw*Iq=ixGvD3oV(tSN|x9Gm}9w!g)X;wtjUyBY+XPYDiA z3)5iBXyjDsT+GC#(j$Uq$3a&Zx(OiRnyUv@D4_BbgwKEd*c?5lRK3Aoo#pmo{`inp z_F{qE>1??tTZ)Mv<1}-|guUx~>m}ce&NQKhCTq+<{4L>D_?!-v_BE|B3vEnm%^GUm zJ3Gd;4{3L~3tNM_js{*C4 z+jaOX)lR=mQJlOuTEKTb5rb;3T(~fw){)3`)S)6)v?vNPadA=UTCj~`t^%dIHrx-wu1fN7U3*`Fw&Z0@mVV03*a-#d){jM^)a~6*zV!LIQrg&h zX_hA&&X>)y7Wo;%_+=w+>sR=Ag;vt`4b9;Ac$M?1xlYt5iy@es9eG zWG9^;Jl8u<0XB6ClYzqy87S1`p#3gv%KRfc-r74;zdW01O&2(v2>mUx-m7=Bf8Y#W z(M}P88}FplvtFMF{ca&_*`*lOMegsu?7qJ{K_V9WR3CMbf8jaf(}HrgpYAN>@vXt| z)WFR1yTngxL0JdI&)U2~>Ks|=V7Cw0yJKO5t|Iz7UiPayGYuWlb+!Dt#v^>SFjKYgz!opz(FKTdj1s`oCp%*NhCto;Ix0!Uf&A%Z?`QQ#RkG5Mv2k)UnDZla#w z+2}Cs{Sn)PJ;G1Xlw&R|Y)8-4utt;8?Z7zx*ejnzSn@4(7L7_+d`)x3j^BZFJ($*xONo{GWeCfzHjO@Dq(&gKO+za8(i_{zGuv08$Ze!*rT zad6nXb3TaQ|AGeycrdmW(DBo67*mhUpOlULxKbo^Ym$`iCB>M0WzqpZD@KbQmtatS zD8!2#VKT_2IGkqH;z}8gj#+;hdEp;pAHk<35FY%sglel+RlaPxc}dBBZZ|uwB6~%) zK{tD@HXFUX#3*&|l__4XK*i)MQ6~p(HH>xMWW?9^%u{w!zCf)LNqfLKGJyNXrm+W7 zOa&G~iD5v|!uC8teugY~sgJ<&Xh=!Pr+!mFVXw_NpoJlAAGZHKV55b_B%b#XWGC;+-HiN_h5vI-Zl$JVk6=c%b89 zBvHP0WFm)=B*cA>He8SOL7?^@UMtvDIfdc=-K#e9>5s6!( zHaiOPDqg!{U5f}rr)$aJgvdVMTvY_5r#`onm&@$vZYWGf!Lo9sP5b-o2g)^9 zcruOqbu#m|ITX7siVoKb5|S+v7CZREQ?fDew-;reVv3%8cGyW61AOSIXZ-Z6xQj~S z@7pm^NAu|c02?r;JiifGui;Z5% z>b;rdLmxlg*GK)3+U2@uUV`{_1RV%7yrY|0Iug#I!zL_EkI}VNpQSDpX-|m`u$O&+ zXQ6ectqneyz$=2|9ENp`GTcyU@9z({_Lk7_Viq4?{u$V9!OwqG8=Z5(gLT@ylmFN- z+{?xMElP|wKru?)Yq|niJmkjwu>^eqOYy0K4r2f{yJrbzJcR*L94^Bn7U?T)J}b?< z*-hUEkdYUNW<1GNV8&L@L`YTi)%Xrw-fZ*|BN`}@>G0vC!0y*}Eu^$Wj1YLzY+;on z;Je_IfHk<0YbEJwy75w#+%1@%OB`v@Hvss^V1E(6-Ma^Lfw~omoNv-e2adlGyf zo20g{3Oc3^cY!<|`BRw;t`U@5-|j{gJVEMUhCL;*WaWnw4qODcv@{&5jGs}2kPxX3 zx#Ot;xr~aOVT_NI0yC0*;!e&vfiImovHN<43>@a-(=d5N5-s=!1l|+blL%aJdGT?) zVipt;^f-*m+2^KBA6~iq#psqheW3c(skgXM>DYS8>$=*@#@bL6UfHrwDjC(Idqw^# z?X2?4lFAgX;upiMrHO+kcib9dOL=7jQ!4!VwrGfNZDZpseO4}&c*x`E{V*?vOsWAe zmYfMAhRXV^UKNSRsDaohq$9y)23;vx?K@eZD-$NzYcdb4g;}aQGqk068EcBwftr1y zhluY(zGWFxb-sJvlDamUkdKNL7)aG!EiS;r`|!snSI<_@W3G`!=VeW?-Tfy;6F*{9Z5V=Y%UC!m@W7ZEp(k2Q9N&No|zqf@WH zEUvE38RnKA5h^S<1Wr7i{3hkq@j_Eols7HSRh}iy<4#%3>vGh^n^60zNvK;drgT>H zT~3W+OtE=0>wFXj`y((GQ!Z!xu{Ce-{EUePL*(pMF{5fPSzQs`#~<$G4#njg>q znJijf*IDWz%!5qMfeSH4kw^XF1bn}q=j`uldcwKWHkyJx!pkT!gt@`!xaKyH9?69l z1(tIu+EU_-HOmV|OpH+i`N#kusHSPh3G`w*qrRy4lx5sjM=>F?63U+dUq<~Y3SI&h zWe0A%ma@LIYx|*?Lz}GFqV(p3qpfYp(T2KRul?OWfiF2w=Clt?YRG@i(>N zMaBBX?>)KZ#^#F7QnxvSsNPF~#d(8%v{C{FXJfcC~}SJO?!nz3Q> zLi1{eF!zP!%w38rkgG!}NA2Y223d&W` zsDi1hj8R{RKmsizluv$2iJa4h!N^>uK zvMOc~+em)BT4E*eali|r1aOpZtzjo1Y$ISVDTJAv1)Th!8z8{Qc;G|K)cM`QkTC&F zu|&<11?|E29@`l)wD-#xc98WU{x^F_F?|>C_%kQ%KV*Whwbnj0Kc}IWr;4{$C@Tz0 z_51onG-JY{eMl{KO8Lzh)O7;pxT%xSdTa!y2tj1S_!vo3Vmm9JJDFso%eye(U-7~V zLxz@}eQ*hnh;=>^_s0)La34w#q{#O;;W>oo1U6WLG4Ul?3u0I)t}S2U6@;V+t8ld$ z*)bWckD1!x?nkNXp2WS5oB+Icw9-Mvm1`C7%&0lWYA}#n4(bWqy^s(&F9ICv1J1mH z`!C?F^|K}gScOu7?{Cx7l>%3I*kwSC0Xt$D897*IeJlxBmVQc^P}plEV^PxkRoLJ( zEbzg~Pi~mcj1I$2S--JmK~%?H^Hysg-rZu-DaD_(!VU_wLiQIjYbK^w_CmZJtyYaE zitfA#e8YbXsw4uHP|IWUtd2&1bNc)!PC+7(9h%eOnC_eCDJ*<#CB!-oi4|i!)!AG) z<#5}pws76AI`|snBvx`T8uDr{5&|v;pg2v$r9&p-BUcguoqAcX0XgoW0olBgm>ijD z(&too+;JMwe)qch$R)frVA!ksz1Y(x)@$AzcY_gPg#DGsQngG8x*DP;{!+=E_wo+2bqXIsHuBd za4`)W`C_ld6|HHaeC`6zHAazRSkEZ+bd0qvSDW9;YhJD&SBJkHB!qJskYvSdA6-&4 z1nfE1-elR_)YRkxZWHr=dda`L^;c8<*!=M^Y3RiR(MLqHoE~nTCx;3PRcR*JmandY z{;EIzoBw9q&5+4`)r-KVg86s*z7YtIM!q!n-F94PxpwV~V_Bma3=*qVe5_^)MmP%5TGQ`h7+)jH46O zlKM(A%zx8J5YJ2%>Rfj~%>fEn@?#K@kpBR4EE1-DxXAF-Cp??sHc=DoZ9}6gVOGTb zG-~TZ5`6xE3~X3q2&8L9sniT;aAu`OvJMo4gO)gP*7iV@>injZ(s)j!8dtJ(RJnO| zIH*`H7i1ur;bH{rNWy$5>cr$CZ;h1J>iygTtclkTX8qyVXqwwc@GLGa;Y-H0Xp* z_1F5ME%y=BuHNj*Y2={Y`k-?cvMwxsPTX{1#pjD}(TGP8#+VA7wX;1ceg`L8AeO;Y z-vE{}33h%t;HInO3jMGN(8hSL#edW7Q=_PQ6~HhNSUV~k#f8thx)cdtQ=^-%q!+!O zobn9Z7@rBE{F8=W`%Dox@Bl4>n^YG-#&HO6?+)ta<=is(MPLq-E*NnmOym zUU)37#W*8@_Npr9qDocaWM>7K6!n@dt?PgV_=swljTNvC)IkgrY%R~-sxyM6^Q7$` zPy~cN@A!m~Wu#C<$!zl|^q$VJAHvPuwvUF<{SMQs0LPAL{}B9xVd#`}v}A67N?znK zsaP$h{4`F>e8jr77tSi?ZaB-~KNsb^Tnx3v)(wE(rq~bVxX-uYhLh=8HEkk(x{d`p z!40ic-s}bNaDnnlD=oU(_(&|+kGtcMD$5m)&#v@M-mlWfi@@At+lxWhNWm7Oi zUH3ITWp)f=RcnZe(*ofFK7z(vSb0-4R6t<>zV%L2>>n)w6Q%MNtx>+#=n-rw&vHoG z<-fS($-hgz+w}wU?Nz>v>H5K8VGqd781N;OfuA|vH*N{t-*E$e;|!`TFQQ)MdMT%Z zg&QB*WqlE=b6M}Us*23|m5`aoU3l+Q-FDI|HL1O?4m_BvF+#GplJG_HBd-2&o-sUi zw*2;|S6LLlU6M3-uUXDmXebxgY!(+Y@GYdh-D5`s4PmEjSept^6OHDKMng*kxmX2FIF0FMMm7Vn)QQJM%?lt~pJ!1H zi!{3C$%VbeVNpNXsKCAnk)VdFQRVH-y3T3RkceI zf}GdOsEh0_FmF5n&WlxZIC+!tnOOy*b#+s!S5tbzdfr0%V9jb@v17l2<|2q5Ezo9H zVd;*Vh8WrU=@+11&4hDGTkNx9Y3cU~U|$%ZHUn5n&aGMGE)BbhiOE^>{# zQ&fb>{k6ZgVB=a-W>l?<)cT(XE@i52HBAiAKU&53wH)cFZnY1|Iqn>0Q@wjKtP&<| zFHhR)U^wd{&ey5lb)Pk!WxLeSCPlSIgS@1Mx3y9Mtj=D_v+l2p6y06il^g{`EcI_% zcV4GS)K_HH3mvyJ#@5nKubJ~e62{UZZIul*K`U@mW!B7$FVa*dJOws4s1wuKlRcu! zU8=hQ^i=R7HR|4_r}zK56{kM!7-rqLsPbm!L>m>(0ZvxfJUz8;kPPeSPNg;L-lv)M zVwSbxFn0a9H2}rp2`{v`nkFh>Fb@v_5q8>Xh@ zs}p@@i~+>65B827m@PW2)Ak{HP$8qe{pj%M=z`EnXqEfL#DWZRj+A6*p-|jgbX|Kc zVFxz!Efn^Q*&gsUcKyD!V4Wbal_lYH@vhmJ)8#6!7w4>B0z**9P`n(fWjJkSwHx_- z6E2kjuXG0AdOtNT~q~N(StHX5POp_t~sRZ<^oy#5XNz9grN# zH~GT*o~Q#K*x41T^~LzJi#k_wbd-bt7!8wXyYkYdRCUmBAn)t#ny6r+pctlJ!{I)# zHEQ|@0P&>lKC#60wTa^=k^iP z{umD3TUi636faDOuV7H%{vqu7eQ>kU{)em!Un|Cn} zqN+Njr2(ZHI@EhHzPuLd$PmyW0oK%)Z9B$=^2jS}8&9ceRh21n$BixE$u2*Gqkbh; z%%1=OXAAe@dnOs%`AKXb+J~d6{Eo#dZ{jrS!2uk{Dk3eTi;AK6nre6F0P9}^EdE0cgzKx?&Fr1OR5HM54su8S&g9;dy$haYx}7H zTtc?C`KW!Ul@RRv2>;SbBSHB)n1G{Ez3dFs=v7Zhq8GURBc>6RYd?71ABBRSFc8_l7J|B?{P zYqGGzJ_@XB&}+u+laT#GGxzh)^R~4=zYX}PNKpNXSFgCEve@G^pZwxSMgiR|=nPw3 zvR&t|ODJ1DOP3ePeCyoQ!@p=vrYwC@ijBw8Bh{pMN8{KFi$6u`u>i)Vq>1R4-{b`gQm> z+BotF)%X6>+4R!=NH}fYFgY^iSFgedd-To#h(;f8dmYtGeY%wEPpvfel!jB`rYAkW zW2xHV4txK&uzpt~JJ&=Rq92bAGltK8*|kZXGLQeWraJzZ?zNW$mAz*#b|90~2qK!! zMzQ1eYvEm{ktxQgX|gZsrvsn1VqYCBDYBA1Sq;7r`vsUXD>xsIceanzb6t&js7&&Zzg6`IAV===L^*te7l7FN&81Qzoz|&PS&>d_RH?Uh{zfTO<5{Wrrvc#T zS%|P5;4-ifR+V$)v5!j;l-EP4v8THUAu~MOCqAvS*r7Z@7N`Dw9}z>db>aQPXgfo1 z=SGaHTMeMOQ);T|X5|Qg-;chlxmOOo+PD)PbB))`MyxTDozKg_^<&sY67K`ZGpAlV z8pQXmZZnY#NtL8zuB2qt!$R|SDR@n$?+$k!O=bpki0ua3_p@+>MoRv?>FOtOin`0C zca!m{Jg|6uu4Ipmv_ogvGKh?py>Zl%=o_<1?@rjY{@neCtVq2%$4pm$qMyRw#aRtx zEtPH?@hhNMfi=mPZ$JwK*uWn@;g&=>3-vCmO*cQy7)y?neu_5M0DXTv@PaxKhz8&M z4TLbLwbBAWjhw7gKBLr$YXJ=~6fnni(9kY~V|s$4n01d;Ftlk_3Pq8;M* zJ#uUu4c?{%)5kL1zNR4~#<7^?V!^k@?EHc(Sw8sbRNrN_p)bG`p`m1Lfal5xiA`bF zW>zbfU#xH3cFNh{;KMtY)qT9&0z`YJdh1|hI>NPTSnhe|-UdLfb9PW2oyqA{;gXM3 zPWn@MqR<}-LJgL+Bz{PDicSKvMg9CeIJ;BYF5>c$3vHwg;xv=UFi-{c0f8_?_?yuc zP%&?Qt>HI-W#MM+04+?0auqrPeo)jS_Cg?DZZvN@G6*Ub$N(A0P(9eLeh~m-XZ01L z(Ot5oPBi4FGN~mF^s=*2)mk}$v-5n(`QO6!e{0+x4{WjK%Z3UHve@_U9|D;Y_4Puq z9v=-iH}QK}?=Mi)cRIy{piV7KvvGf|9OkLX)fSj$Vys2jw3ZWi;NWdx3 zjS&M%Va@|nm11NxXkI_OC*@e8A(m_HQCaD0ai5upSUF8?TMs?>1Fkrc6BA|b4Y~^F z?3{_*Z7Ck&s>|$KOxSqbaBO_Cgmv@F*CZ~WKwFYtByq`ZX+%`+g z-iWn-^a&u^nJ2?M>ZB5<{YzmR0DpEJDk;;mnr)hA)nKN6&3O^@?K!V6p86r_TIWD=fp&6=9RE33E-*YJoH+5tZ5wUV9 zqtRB&a2Vu63pCZ1CzF^>=^DDE=VZ$@8BRCfnIYkVX1qU{{VXKkZ=5nUNP=F1qo(_S z9TAyRjry?p1tuV&w!V}N&(Nx}Hq&SAYg1N38>s@cGgVqNfU=Za1vrZuX4J!VMJk}y ztVk~{PO4?nI{-%j#Jct=GVS`$8U=v92tn2>IN@LY7J>=qMtsX>*|N^Cx-uIK$TKmX zx<2)Hnb<#6NU$+7JBRM@jj!Xfe4P&tI|5M|?bD;<&74TW3dHSnn&<%}KmZa4^+#Er zxWxJr$eGKE{7VC|SMv`D-^+SE52wcB$I8}B{Ata^F2*zuY*55E(~^>ABD7jBeoQ|n~w^V=yHX3ICp zL$c=%E;HwcI6tDG6;4q<8FN8c4Pzfp)CDlXHeG^@K^>_+0&w_gPE*|MuYbmWL zKh+{>hN3f_IqJ*xF1#kT=G(89{iVeg4@Bc{JvSdKi{abTTo}xq@{x?1X{w2~5ypRe z1r-3*?$+h_*1=))+f)+r?oz(Lz=rEfUT@Qx z8h;OJ{)N7lmKyTNr{U66j!cHYLUpy+8LIjWz{6)4qkh)MMRD(WGDUGWrtw5^FERt* zmzM`0jc#G^mkwoizyMovwNCiy%1t#OW%75d#Q{vq+8#j~~L1ltc7Em$#QAXN;=lxj!7AZH#SY$ri^_fs%Uo%ypX zvbb+)^@ehUY2I1(oZEQ+^s|7dO^-Z&oB>Ga+BGx%xnI#OmNCe>ChR>;r6*IIS6M4eHIro^M_`9&o4jkK?@=^LQ_&y|6p0eA)DGNxuR6My9AfZ&Un< zwS~IJm`jV6JKAA7>W?j+DaDb`z%lceAn$7_fhnU|fEfY6pYH^5ESK*xx8d_5LrhtZ5sXG~K=E)cg=^Hhcrp3_A{X?xL4(A%%fm4e$ z;zSGa@PHt#H7UN|v5_|RJo;23JU%+z4jS|`_rlAc{9yH`^$k_;HyZFtp^DA&re4Nd zqlxt{aZJUhZAY&|dFomu zy&MyR)RMo;GMrc3M7Da&2n;w0;g_jhNVr-T@NoT#tcFgL_fj%I_ZYWVpO$1yX_< zyrWdqZc3#_!mE_oZ$tuEKpNmVlv}fYkX$`zAxZDwqP$MfxNP)-zt?i9IFn;W%);#m z(A&BIBnoY7XR%!|bbKgu%;t-=9@CfWobg?KK!Y`WC%zh(zeyOsO>_=S^Ev{f_YaF& zjdO^{+j323Blj~q0`<+^5T5)N%#oYPp|6~W4FL|fcg@>#9H6@vbzqzAChO6|vb6h^ z(|Y5fiQbUO>CdD$v9@T_mBG~CIsG<#`z?Ia(R6&b=lR4@7M zPZG?#dRJKEy7t72XC_DgdJ{hr94kL+(^J_`sfDu_jwypRK!!=GXVi)M{8Xfnu*bFl z>fW1|6zMVjMzXnqKZ=_vAK>H}27ta-h&`nOze-Ti=@J5SC{pXLu~F+@lO1(>uMdWO6YSldS zPYms!*Sgttc=f3A^zl)s9a2U-_&AX++nUMp;LBA&pEBE6Zl9PndX*ufcIe?D)D7e= zzcoe*w;bPY7hYFv7!WZj{{rs*$nrWomj3`Mbo@ZktC=BY8k68y|W+ zJyHYkyYBs^iQY1!*0pX`ic)EPyOj;@0wF;r8|;G?~-(JBD2WUU7P+)4a88{TK6IlwS~5ReyH zEq0^XLIIvGp!m5TLPznz?zP(bCj6rK;`JQCaeGVPID$dO;ibF##?_9di5pu>KZCqO zV!C`-HYpqEd{6dee9TNYH3?e`0cZX$ntAa;m@yio@?@^_^7rspd>ZC$R7Tbsl?HuA zrgR3qSG8h;9dP&;(%i17zR&WMG`5P;7OX>L7(@kEl3G0KQut5)II!t~BJx z6v8*EB**BZ%r*co?wo&O4lBvCaxvC>`+ihe ze>Grs3pX{D{ENi)-c4h#2S4iGic&I5A1@_qYbdL0f`+R6v>u&Gb0UNw8T9RBntmuk zp(Y1QJ+!}>utpJfbEM0?Dg-*(Hy=U@Egm#pJvD{jyVenCx;9CE@?-S z#vOx**Ee3)Px#La9dQESS;X6u(VcttrmhGrqWCD7KpcKWHxi+2V$e*n?ftL#&pG*FFA^IKJ?t>e0t2tkBl^5$dt z>t>HKG`PB%0OmG1+*u3cYDS~G&qO_ZowM-AxClE<1SqA>`&P1xvo?r^r)fVj1-zdF zIII#j$&n-AMj)0g^p|6lbO~&j@N-1GGAxSwRG2SgEHhGATVPEKw2@AB@Pv_~vqU{w z({+fA?&_t6Xvdjh%~LHgRpTd^UFj3r_~1;gVHT9!8>Slf{m?D_ULQw_ubOSQkqIsg z2c%fApFIT}uCFzO_*d_IYdBUmCrWnY}lIChFL%8U)0SdY*0M-xJ!LlP~4mnuGvi;KPbKHDb)g=CMg@EY1^}4{o#q0-A z0}0?24VQAULO@+E&g)c4e6?;0tWI#{CE=9FOKT5B_*y5epJ^I1Udn&67W7mkg7;+D zc!u4R`AgHJP^XD;Pc&987Ap(0hDvf(iL93_HE2rSH#HMGsHop}q&4fwwZIAIK2PcC zC5L|~Vw|-N%?6C}WY;A%0Hp8z23uGf0i-ep8fdSi^u(P24+2odKe+(X8rnV{Q?`0t zX&{3h8Q^}zsq7>&0OzF7<{xXKinBT^kN^nao{5o0xsjKQwAxhs=DW~YRpNgIXa4IY zAG3M@;TTVT{x_@mpD&fs+yCwF@+*J!H2(RL_x=xMyi1oVL;o$fcj=N2)4zrFE?s)J z_BU_-UoV3j|JKL@w0k7~OW*E){u}k*FG=zLbjf-^lUPnyaAjd(0XJF(1hdVL2kEQ= zpE6Pq76GF0$s8bjc;W`A5dsig*y6F3IHm5v5pkZlj31KIZV&YE*kk`8mrlev2xX3Va(Y%fgp(o`0(bot(n@;OYssD`$01|ECP8x@P90&7 zCuV%ds)G;sDcwEQ;Vz1*6SC)6NUnZv+ zvSj?#O*+^RwR~*3XOSXYzYku%;XEI0;JMfF@Z-OF@X|Ar1PpWZhy@1+=d%?+vsSq% zhQw|g=!Cx+-++o|p+7*jkPVTgrxSZRQ zmBrb^A00aYqeCEjeQ7B~PFB{a@iyNK3q@;h*s;+riiB*f-hSvjgq!E3MeDXOaT_3a z>~*YKeL3_POC-2)y6#f8?&JW98FQx-_nrDZpA!L#(*SHpl4O4;ftipKa*gF1G<3M?%E@DkMf$!*(U`I6eXvDr?|3<0_x7N7bOA% zZr9iPUq38teR!^rZxK;-oH}>sZ*Tk|ZuhW+%#d~+YH??s<((3dP2zEip7c&QPjK&1 zF=Rh6`cFljVVs1c#RUmq-yK5diL<`#PMFt10j2Fb`;K>fz2h$EzVk(EZHiUSov(;p zq@%!%jQ#hkFa7=@5KO#w7~Fw)%bf>|IbI$;cX#&!&SyQu15HTib0BhYn`BVF z#lW*(KUMW&mVshOmU!;(XJKD4dZ0)m^*fD5QKa<@&}}GniYT-ZOv|({!}BeMoEnE5 z7;EQBXB_nw7M(8=feg*nU!X-x52awcdz^7{{(F8;K9g9BZ&cD$kndXDzi>Z3!RGnC z!6WT2Zgu>oY+Nqjk&n{L@slUmT~ro%4ppIHT*AG`BjOT-6t?lgl0rB%Y0 zWba>Vw0N5%>CJi=UI@`{%=Uua1-kEiDcPhS@C|aS^{h;8M?AOFIMBt9(8YJ?q}<9C z&eid-a_N1&0dYh?O%^KQ?b^W?_`I`_z~db(phw9ba+C!@K3Cv~2}Sepft z#%Y5K=qy(j21MvBxI1HFUYldvCF|xMqC7J~jw1vC1$-1frXgT?=bt*gm%cvpUf)z} zRUaU;e5^Kg23Q+oM`6j~2e(r2FF%f{7XiZI_NvdBZb3qbM+x`ht5?+fMJ95U48_N) zIFwHeo11Q4(-!d*hZR+lp5sP&8bt{?HMd5hz5Kj`ylG2YDz=?D^yhq@CmPY*tIiJI_8N_YE!NbI{@`@`e% zr|1ohq3js!1I?a-hp#Swf$UlzT)Fh(WNvk{@`f5|Lx>WSz&-M(?1_7BPziKF*Od~- zaID_d4HCnO^evlyS+q>{z#F)jcTjJw_aAz=m%w-2+0k~;lPsP4F6sk({@k*n7_MTC zF|DUlaOUY|r%L*2El><*Q*oB+Y*zY9=Brf!@5poN_D3- zC!nb}ZjS4ErGk+cFLHHL@1E=Fm+vpo5pjs$I1Bf>pQ9wboi`6Q<6>Rk4EL~=Q3G@+ zIy%p}$9muEqr_aJexxFCI0p6U$k#EqHH_IZDmL|VLR=JDA}SF*qj%HKfz6!r9I9?zo6JeY30;CF)Eqi zJ27&j(?9a_Nd>J+#?o$&NJek_7#ejy9&xorxCRW;C>pN6?ASE7`fxP(dy=7p@&Y8eplU4=%Ko-PiP64aOH@rUh^zZEQ2mj#FaOK5=P@OZ;+M&EV1Tp z)gL}hlE+SS9ueTYr=-ZB+Lu3A?izpI>x`gOwGj+ePMzFswR`Msbc(=yH_>SN5J}gP z_*?nlu$1)1Jq$;%_&Xistnsv&i61vH?U8V-#`S6%V)99#<&RU?Shm!6vzFP}XwBtt zrk`|a=nT=<3vAA*1hV|TeIGhcobc$J?QJ zzjTlHtt`BEGq#*~1kGky;iymBy8x1((JIx|)k&RU6*DTLPk-o#<%+>ggPYB#Sp&`R zf*}rhJ`Q-rs1~rVprGJr1usk982ac8DIwwH#U#vZ^T8mD;TonKk=0prQSWi8ud%wh zCS_|GC*D1A5Sgd(Ou2qAj`Y&M&A30PbLhb)t0uI`*w9dKn29{80+ZX;<}}Sr5%IM8 zzM;wJ>0xOHy~pp#p<#4P6=xua>=Sstsbg%>Akg8hvwpo6a?Jh(lUHv-5$M#~aB1x7 zW>NI+!9inRWuY9`dcMa6 z?G_17Ko6=GTTYj17Rw;50Vh)6jn2yw#g!Q6_2eI+|r%>&l;jREpe|u z&I(G@_H|eOBHs89J00^qYYolTvrTgjY|w|)+Ey+YfVS+F=`G*w8FtC_t}ZRUgNJlq`f5HjlnLsv_+Z@WV1;s88~u^(|* zBhO*iI@?i&h-m@~^<=w)%&L1B8+X@y=O?_>cN_`bxU@O9zYBoH%wi&0k1xL?hSxj#B!7a9r z`itX^)Thejq6{^)S2tgLy=A@p$G;sVB?+9I;3q9BExp7Vvge^IBPT}-ber7>=TlO5 zw)nNpC_OM_%PF_(L>fAzZKcO%VXM}DvwwQyt+=$zEM09d6kv%2H!jrs_VXxDh~_C2 zMzo?luXdF_jjOdysQNu{;3MH*!4{Icb`dOdFY-1n1>=fx99Vi{z2s4y;R5ZMH68a( zk0?@P4@hK`pP4!5a(r{(qkFvQ=klbYISx%15L+19%_{vL4-AzkyDk-gRETeFJNF3b z5T$OJ1c}uqnfJpGD1zH|x1G5?O?}zL)+LFEa2H$n&6@6!i8bWh z5F1f6iEfg-E9ZRQs1bgHY*#{QdA+t#tF;YDF#T}~9+kp?@JVeW=vST_cVDaz&AycN zEL8OuI$!-<`dGcu2SK3_WxLtpQQ;?P4D^B0k!F-u>C!Pt?9T>3s<+d zwFp0M+wGR+oN{S-@r|xiq%jeLfm=|Acc;q5Pfh(OmsWCdrD@+|BmEE8bBFJm#SxHS zF`DgboY+^fr`bP|7?sfkiHtMK6g#)=Z1PRUp10Z$S1QE`xBNshd{d0M- z??kDNk*whi8S>;=srGt4!`l&Xv;|VZ zq}oODishyIou4RG7OJ1C5`j7{5ooWIadz@$z8yZ9$2wti^UT0xJ`SbkyKv5Eaoshl zLx6ox?!+CjQ9s9QADD*B&G&C0s6T(%4DR?+*|=4gotBOHR{@YqKm7wYifyXDRC4^} zX$zl9)#z}#J1l6}e?W+&Q$7j@^C-=375M4LTn!vYKRh%wkLX|4lhzQ;8h{|vg2&Qd zWD6J9?h^rrxZ<TV?C)NA(xWfAI?)&Z+NpBj~1(w}qW!oe;P&*&s>>yG9w?jA4p zP%^*-f}dow&<&NPO$_?FRIkIq97+W4)P|1c=3KzIUbf!#@34xtKR%P~D%+3t$9yI#Qdl^`GWo6-Ds5dSw{e|7*2f|ct zox)w;OYV|W#c4{BB3_D)WUZEm8E?#9o3-`c+L{IMp(TiirI6d)zzvZAVPJ~A0je)- z%>!HyVD`oL6b1iY+pHVoN)xuajKXRM>gXAeeMc7c`<)Sjr{L?QCeU!J&juMo*hBlf zMXSZOQeX5npZ)Ia%wg!KYdMo5Thu#pm&gnV?(&YZvBDR0a ze*UwbsMbTF|F`O%qW`V7XV534TIZ{~;VjP2?{+dK!rP65ojRXgsR6bpYiBJ=Cr=-EjsusbUOe)uFotUP--FMWj8glB)r z2VEG`ef@2X@(4TApora)u_N_QL6!tAv8qxApSh8fNB&g;6I=`nT}EHaWGAk+@0|Sb zl-_L|+OllsZl|ekc+n*LJ#F#yL~PfnOs3{L@y+Vb?f*qK;Ee8>(HT0kV7gw@YKPRvs+agv+{@JoPvtg!6cN}I{~+m zb_1dz*N+kk=(Z-GT6j7rm8jH{<{_RKhlX)|mN>WA_-qm|yU{78~9-Rft_AUKFdJZD7n!&wGgAX+S133OaG%^0~W&d}z zz&ovOM?9Unv_T85*G*$d`fN3_o5X|*BE7fqLtgq|pGoTHV34x!pXw04s1N(xo2B{^*Zq3 zSa#btep4DX_~stu0+*i2^tXm({*p2CFr-4c0&ZbB)H^j0|BtWl)hO5R=cqTr@^XDy z>Owkp;_rQqJ~(foz7frMXTkQ?%t@9#GxH`5<}$EPdO_e93C0ca{HP`^h^*hXKC@p! zEIH00Ri`$0E?-<_TQJ9uVC$j$@+p|uDaLO+6zkm0#Ry!RDOr&JFnV06gnmMC=t%OQ zo9H4;>5Dab%~9zER!tYbRP$jw8E=u+6t9otWGsr2CrvLKXh|&DB3B+XIn^4evkC zZyf#JVzY(JJ)s~2+70iSpwJ+TL4p?F9!S?|_yqWaBcS1?`)%0%y{Z7k$g=I2ZtMs5 zep$0t*Us-|XXm+}oE5~mfq2rO_7K*v@&H8*Q*6gvG;JJ&(Nh|e2*?mO&}_5jrg}q- z+r6!&w_!55Y_TS*hn{;=;Dn(^OB+=EKa;*SvH<0Ovj9IJ%7woPoV<%{^ErC4fB@^HXuT|=FpKT@3wU8 zHoc7hDLNbHd!4*&j(iDExFwTU*IB5rD%2eeb*PC~{vYafp%I*As zueaPROZ$zV0Z^}k^^@f~^wE`zK}LF!wUZ{zJq$Nmza;mlkILg)hPu@zY_s`Quf!46 zUMT%_0GrG2|0Ga=#iP_46({i3(LH86<`A6$Bg%#nK}@|9%H( zJW19C3qw9_3$C`)`nsTF2*&d)w~?h7;)KGxcAh~g%|mmYP3Nf2vUj>R$JD8T8@@z2 zL7s#kE+>*zukds*gjZuVOO0d%RW%`hBL)UPK+ioa8PaG_7AH5oRwedU@S5sP4cYp$t;(jsFai+D!>9KFpXb&@!Uge^hFHWzOUhp zf1bg;m0RM>vFKy#a4*q-DIfdW6F8Q?M~84xT?aPmHGcjn9V!H+;boZ;H79 z|9>|MZpjxH3U@?aaJE@`wiPNLKrmn(;ze{FA8N$+>$~>XjAgEn;FK@eJ}Y1gxRR)m z_{sbWg|gP#$Gg-kMs4zuxoKd>PH;Q3D?ydv^3vjp(f7%bWgS)%8$Jfu)3%rKpR6UR zwc0eT&Z*z{hE-d=!gxj{&;c+>h&_|5wL6rsj2$(Hhz+QO9?>-)jn zYQI@%Wz^PABk}|*4C);>7U%JX}z_5cw zL+4!sl*qlovcR4;JRml@G*^5phWQgOEPVpc(ob+(2sqVDJ(RXLOV~N;h!4r1Jeps& z`w(wtB>5Np`MP zlg<`_uN}HwKa$%6UN5*{g>9>~vYfnr_o|wFSB&hEDg9}?#jUfi2Gns!zAdQ>qKCg$ zYi3V7XDbzYr5OBSX*&)RUX$O%?#j|VM~l3g=^D?P?uhJjFMlomD(=6Cp!^Xq;n^1gJ}Oyz!dFafGLWTxX)`EY23^<}F$+rGJ5bHyfqAC6c5 zK7xksCs=YET~eGor}jaQ@w+4m%2RG@<=bs5`Wo$|qumKSjeTotyWqK{PFAiJ!{c$D zg2!i9^A8GI?wtYC7p5OqL`kl%XTGsXbxCo{| z#e%#*J-g{)ZCTYrM{d)Od{Z~4BdYXHf_?sL#{j*Qq?k4fU|?x-kn~<9hBJiccJy?( zST&Uddd8HUyfcTiFI;+EbJcB!Stl^o1q_kpcvaIUd3wo9p>EtNaLQXd)dpJBT>Q(V zJLN9;uumL0te)zB=}_>v>sqQnJK11%%&mGu4G`i~^f*~|Awi0Qd#H4i94{XS%nyf?f6tL}g6=-Q@GJ>B}^2p%;zcXTO&uviTV z(4yzoc%cbtU;ps#8>jQnCzqI_ZDsSS`)3VnU1Z(n&S^#99`2rexkYeLm6j{v>D3xH zzq;=+y`r*oq;H^~Ri^KQdn|9;Cp}v!oI!X_3pl!ho_Vt%BpTuM_vY;jT_zX!`B#G5 z)60N638r1Y8=f1|M83XndonI6DVVxA;#ud4qK`mD$5%&-WuZ#3J>~J$3*Ge3ZUGw} z-_9p)2DuuIvdGetR=<{phTI#-51K2xB8RRrN6YV@kJyeCW0k9JtqNOs2mjrjNFfCE zl-p<1Ki*rD9K~7f?mIflgz!7$t?dW41Oz?YXB^8?G39CrLW!6>Y%x5GMi)-8^00T} z-!ySg8|OPeOyf%mOih;@^@=rRb^A!23>NuFJw#<~WtZ-v)Ow$Z1%Vp}lRsc4^DU@T z%|L*^TZIY+#-0m)L?7R8Hgk2BjJ|twQR^g!gqMM(sL$x>j1oIES-})8l5Ei>1(mDw zlsIS7Rnx-nWd0%A2!8Xajs`0?UgCo4{ z6Crh(?SuE(thpsbuhK65(#|xjR4oUato*9&3d2!kv1jGQqG7gpTg$qW@A`M_LLQO6 zS+rS#d)?2VyrD$)A@}e7*u=sT7e_559;Zb1fRjmrZc+IKe70K`fL+F4c%k3#pU-zD zyozP!oBd|loLe2JwOdv-j&CCJo)y+xT8!gqn|ru)n6vo2Rg9C(eoOrEUE2w09{KfR zyDutYF&1;*&@4xIRzj^|uS!+)1!T_Xc@63g8Bz>ZUW0RS^85v}>@dTwA|1PKc38zl z^yufeSn+qcT<+mN57ROGn2mTyqF=;`(ayT9MM|`&?sH z%2PTU_X-;(F4;o6P3A4F=LhGuwWGCrMT&eAc;B;_h-CE|QP9xsEvAi(=Z(2ij3z7o z6~8@oa`TPp6$@f4+*T58&mhMkb6*rvm{2y8vGz;MICTj`YP ziOv$#`aB~lCI+r!q!1p;O7eW@3JM}F+xVzDA_g)e>MJud5&1QGIKD9`*P(r6wt{?J z;*s_?hxT<~elg4&-M8s)4&X8yIzxF3(^FClwLhV)L|P3nvLTgYCVlzc&AbcP2VkJw zx#}04>UZ13qBxq+-80oI?d}>a$}vM>Z|98OHUF_`xKJ1w3wz?aBD!5C!t~EMR^;Df zDSiaCt00#da2aT~0%vp6k2*d9Cv!wiPopZ-*CkGN0%p5H75*BO!g=dT!^f0Da{QV0 zN1onm8<2K?+{_8Zwjirzcg&5jT)_+{PQGm!fe_5 zgfnZ1hJwB@w?km-LoR}1*F`q{OS$s1^r7y7I2GQ!A<%Np%)NmnJkJD&r0b$jd4@dl2TvpC@t!}kyCClIlpFHJy?b1Q;tDWgoHJncm=defn==CMP5%>Et|L> zU5o3qlrs4CVOs^WmMDs0@p9(l*;*D2aF1`h#PiMN@B>r(MUVMzX^jNAy9OPvnY?wo zYiN8{vo}S$&g8;cJKRi0tqgtZUBq|&Pd3l(2qOzkn$R*cyTw6Xt>-8_Tl0?gb9uyj zy-)czV>XtE5E0QIau3=1Q!d> z$U17*ioK3{6$#Nw!+Z~!7T=dnB+SY@@61R1D!zII{QiO4d^+;o#nsa_gKE37)R%vG zN=C}WXF@M&wlRgu#l)Vk&ox8!COm)D=Z3{w^`0EEz&oag9GtO<5rvuLT|jF_m5 zqlIdh8H)ZcA~P_j7DIUcPV=A9P4RvnefjNQYCJ@GCzZ=AMfFBmcl(R;gSjsj2>M?; z$szY@DsE?9p{=~TBUj%?q+k203i?wN^chKvScsQH^deh6=Q2#M1^?^^G24CyFrCY?;;S9>N`gs zIpGR!>!KL!OFxD8G$i|*pKjVLiRNCB>~_i6xy$p%#uolRSbNK;w!Y|Fw9rDa7AQfA z6qn#Gh2XBm-Q5BdDDF_)-Dz=mcXxNU;_k)Y>F<9(yf?=CaK{}tUy_q#B6y%$naH3DicADkm;8t88ZoO_snViuB; z@~)UE^m%%UC`Zti5TRGWB!qj{A<@l|3o;L{MUD+k@3h>V&Dk^L;TyB@)L&lq9^t=im&}eLvFqj3`_&3!;qf$gM3t8Yk zFkjpU?aiuWVV|}O5_LxAL!&W02$!P4_$z^8;|{Rh3OKDsJ;Ra~-n5}o>WM69s#v7g zCm(a)s3(z?&9eLnpX-*QhZ7yhyeMsg2JL#}Nuk6zYT_KjLP?XQn-j}~bivHK*DsnH11cpiTYm2>SbaMYtbQUI^=lIhMrY#gU*`s-}XE;jhR zk|i1bs$fFel-E?6jUSSe$04mf5JcL?Q8b?V{cpUf;byD_K8JWA`3ee2R4|OA^NPNL zzG?ad{FasK0G%@x0aM4t*-VaBIjUfel&Emn7Y!x)F;5okP)+&StJIcY%DH^Vw(oN$sRkWIr*)mtx`52o~szxdcLV4r7<0%)BS$T6^V!C6^##3Ob64fbUFv%m+<8?9J$6D0rPK|2loR33ZbKRb@>#K`4zqq?v~3Ba#9nlB|C?% zMo4;8Xt~_)L$-hGbDZdf$Q)pCP_`CVk4NP-GrG=+eQ4q8-G|RTW zDCwwXh`>a9zCXN5Xt4Al%bmDFyJ_i1or^;{Z)Is2ZALqQ1ux{L z#JK!U^rV6Z+LjN(PM#cXBkr<`SfdXouXMV96zXg;`7(MqCPYZ`dDUhAZGEr3$X+Af zE(`v5dH_KW_W`HNzDrUVU(q|#-HZ9FXNT!K9xAyWlCv}VDZ3OZw!DALK=g0z2B|78 z`URZf9Pj264e&QC zzxEzJmdIh;XieWfrq+ZA=y|*lDF>Dbtfj!-OGHy6m1t7|4Qdgzg$$cU6|l#?5+5Xh z`V%k-d-p4Idnx(9*5y2Orqzv>{O+^zlna>wMOuM`Hs!jN7MZQWctFr%PB zrC#C(=NHK#w$&ZQDEr0lA7lh_%)xrUIB8(3OJjY3{(k+jzRn#WGvZvL&x~*xBZ*Q1 z(+fu!Bt#4~?FuU*^s%>&A0e+sI7ib;kolVF{KOEuVHxhiW(U`O2-y6`aM(lN7|0SE z={h5hw%Lh%TyU_8`&+DFByIIhdTGIsD2>j+QyF=us7>;q`87K(bhwHs@117KVw&#UMAEAX{P??1!%&q{~kx3YD6XMTfIBIu;v8FRx@F7AEy@t zDkyyc2XT3@hDpPwbJU4iF(e3EaN>vgZMu7%5!QCyy8Kz$^pY3SBC69n@1S=W|Gl287P+I%e>O7whru z*;t})p50q?b!OusrJ=ZaNAq>ELV!dhqAo1CdY0Q(m>f0cow#@n@@GO?jml-EV{cm2 z{4(<29=cF3aH|vCXl>S^yN>yj7P%_kNC|vnLQL`9^~x#Yfm;cXluioGa$TDMqBAa* z&K@wd&LQuN%ap200I7oH&cYaiz0(4Btu-BSZ!@SyNO(A19xJ$hb#Ewu`@J>2IoF1> z>9UJHaCu+3H%V_gy_Bjwj&cE^c9LoLT|J^nwhftifK1Cms(u|0a_^ZWDUGbkdFvDo z4;*Wp|9YKWKCJT3_k!Ec79-rK}jGS$j(x$T>SG zBsO8!M+;n)>)0VXScZtm@q)xQ+@Vz(@^)B2{Yua1p)w$DOkLuc+R0|n@y8^rJ6j>z zg_)Pj;21^(bXhTtOA<}?trh{^YsiF97BvI5jcU*ZPc{_VNY~xBuY+wO>y!~8pA5^s z`oxfv0Lp2ZUR?k=V;ROv`It6c&E|MVP7+9JD|Qr;!_l_%rNaemfX%R)8AyB@#gEk_ z#~)jXoGf41cQJN8fF=m4EGCxp?(&?xT`$AG7P{L*U- zPthFo-DdByinfa0FLP69pi8hHvQ)p@+BYAqT&$NN59`L<(nbr`eQxO1MSgsTxPT;pZI4VDNy2(_)8)WpPFhLfL zGso3Vw)zqj!v<{=W(w%Ymq`lU*XZeYs(NXHWQk1R^%}*K42_`E^qNz)(Q&I5v~mB$ zpq9AsNG5|Z$q_avdo6Y9=7=55f*Dm;Lt}WeF*wTl^q`C$&aTuyJTiLOnaaJXk#5Y& zJq&P*7HUX<~JWzX}) zB)r{)C2cBEXT1D(3!|FW*Ls*q^E_W3d4WEMT8%ojztqTnu8#~e zz7j>#H(b7g2^$=s$-An)o3MO2v&+fyF(0#qJ;S%)w5sxeeIDYXfL02IW4hDIX~pdH zZxnY30p;X?8uFVjLFd){LP$NJ^Yaxj!Xs?~1)PjQBvL{*I|wM z?pR%J{~34jQii~xS*TKr`*DWiYqOk4i7%!xw2-d%R3aF;j<#AErB#l6ye|o>NYoCm z6+%&1(Hk(NMvaF@T8l~A!i)vHRa|K05GFwk2R6yxj-a+~+74Tv9Jks6=)wy)i+%>I z2f%I|2H`${=wus?#7PKr86tE2bI3$kl-YIO;DJC-tO_Q08G)Lu>MS@#v{GI;{d72) zt#=3J8#@gG`-|Y~7MTTTO2*ytS(G2n`?Eon%E*R3$4SUOrH`wiTwK+q^yUuD({ism zx6M6LWtdRJqJt?7-9pHS3X{aH@7HNKJdb5s1Z5Uy=M_=zoCQcj3vl7%UL!BoYhHSCop;o-^Q2flZd3Hv3(ph=m17X^#}hFh5< zGg7AS_lM@X{=kP2UjJc{W72W;=8LQ`cm1MUV?n-G3*$b%_Ih!)`0nqzJ^$YW^cn)E zXeaiff-vR#0j2oLhUJp#U&v#B7p1JXG?6|qn0at22UD*PsR?sI17tSYZH;NY>f6A2 zHd%=AniQXmLt=^HUZ8%t{09lSL~}VHVaz(&7+(sz_l5poA?NXkqCL_aZDg0x=DdS@ zoP&f;ryk0T^_}%<#ECoa4LoRTmi|F`UK%SRY+z zWU*6{LX|FcQmd2lIuZylNqvDmymg`eoT4V7jHy@1q`I$${$18%_ha*~AlA;^7J^(* z9T}dXbPZE|1W8iu9j~O>RLviB?4@_k{|TlDm&~s97CPdoi18FlgQ}iTB`))>RU_(#of9K zkQ)0J$&jzxHx)(FFsS7-TIb)iwpGSNK7fPfQ+ykSMN^`E#kUosVyx&Kv6Rw$Tju8` zsrkp)!5tMq z#Au+)!>J$IO@-CBz+_iOQkvGT2Z=)=+aI~$&~x~iRzJwVjQN__rsiPBzIWCf2w@K8 ztEr}jycTLD+lIEeS)2rT~ zKY~&MQPo*DiU9E_SaWbjN)cG!3mU+%UZYTzphI|tCsZ1j!;HKwYAKJuaqkt#XxzW^ znfWaVxhp}jQHSJ*e#fv1upF^unGd3}#md}AZz>945Rb+xUPPAh@1^82k(yMdbH4~S zvRA1EExtt#KW_+cz6q>1{B_RsT{CWR%W4Hc=u*`HlWU-}u`yumzmsOq8-A;~w$py?>i*JuDd5eGhh>Xic93Yr&!3i6r{ zOktexSm9Pmy^t(8kyE;4hl2;oF=hI!V^Z9cPY{asD6b5yy+T`xf$WT%#^y6{b-%n+ zE|&7)ef3-XCAXzVO_lKjg3oY29>rA56@PKN#U3X_;nZK4T;E2LaAS(ctp)$CZdP>m zp_oi?s#6f8f-~8MdTee^HY5ISf}q=X%M||S1$1N3_Ynm^cpbsw zglnpf2Xz^;v-bf)^#N2EDJfizgV0b_942$=V>$rYozg%EHo~+m54l<3V<9rn0<%w= zBy5|Jf02sz#&w^11c$;O+~*o(X29II45VUeaLMgxB5; zyYh-0KUfx;X5a9bLEtcJlB>e}hD3IZ@&9gu*gH!ZsOyX99^i=+3KXm_vi4I&$Gqs3 zU}kLSQ?^vp<$hw)2hTIWIUs|-HCekN86as=N(d-&CI?x4m7O$Npe-EDE)mrF2D$T_ zk1Q?D;B(&aDFOB*^uy0wT`Cps;qNsbS7k8#)xT_xJNuJ+JNn>RR(-`uspONxeq$5Bx0?kTn3==KS2j0+|x-h7WmbHa`muiq!QLIYnT(RM_ag zvxxmtZf)9il0bj|-YF@y>F_?qIE_40yg8+4kFOHAwWmVaH)$_|aVGgHS{39;G6D8Y zn55S;)D?skJr>B?5BHHRoKz3rn%hbS?V{GMp7)PAtjB|wDiXF zDpgoXy9MEf^D4}$4WcJM&@G0U>OarX(=1wHOPELnv%9qx>HIJbA;?&a2<+zsseS<8U;=w`w@vzGYQF)sAP$6j; z^UD8$bpAiESgGMg`H&65r3IRVky1J~P=Oj&L!$Fi*6hq5kOjs~Zwz$==dR}cegc_c z<*&F$N5y-TCG>W0#Kt25>yU#Vv2+$zIH)NNnsoR|aI>T^8RN0tr}LQVOp-3ktjSEm z5lS|F(9oKkbJ9SU@@cinnhDF>Y8$FO7DpyrkNBe@i3D^90A%252CR8NyMo4{;?Pw< zJv~2ASycL`XFMyQUH$wNz1L-YGz1o>>Kg@qLtH>AFYDr%emLMEaKb(Z?o@Ljr4jA= zN%EB32;#+LhH&L%O%M|M1tRPy7HPR^9MS;m!kQXiqp4PrS&AZxNoLz z?J0Irdvw1fzall@%FAnpV*htlAM@zG{jsX8&9!a#_ow%^*Y26Q zLgMN!n#2wt#IL)4{54K4a>ToE#Jh3SG#EaSUfO~h=2}l_39qu}WYvKRdD3zdDWKj0ox@!KJxE?0Craiw1q#j48Cts>V$VYu*9F4^nC=ytzxUv`qj@0h%@ zmOOEarOll7R%@pp%uOjVMOv86YAEHmR-q#+ei!?#Xs{~TtA9>TeQp}bS)HO7KVBJm z?7K;#F||T{!YFMgS)B2Z2DEV0RSUM<*Ersysz|hv+E9Hqi#C;hc>!mYy%8y4IU%8s zYQcdW$}XxLT~>3fQU|6noQ;9q6^!?-N%Jisf%~kCR6~)^|HY{|pZ`o8Jm7R%O@zq` zH)6f2FyZ|0>K8;C4%Vz4jn<(1g{f;fcZCRf#{gvJom#@e6Klm5D2;Q3ZF&H?AkF1H z==hNNQ`BACosT>AxG1IqCW}?lBfGSWbfWR`m1(^>uEG@;)M~dwphjk_dd%ZeR+`~B z`2^$3rJjE%nnhISvy`e*pJbp`nskY8Zq)@-oeq)$jAE482}qbmM&O?v&j3neph7;# zp{|<9`QQ5Qjg${}+$XRZZ1*lk^c~5eiC3&fX)((#qWc~$>HmFg^IZ^WF z>F#Nf)%e=|E^<~Z%e76akZ{3RY3H%1`@Wb)H6eKEX_(oVnqC&Gffl0`Jx5EO!UBWF zaFPirzH;HDtb|#mQreidoX**p)&hgtu#)Mg*5~3&P#joR)Vdav5}6#%^Ja63fD6u% zRyHpQY9jSB)z@~+SM9y5K%Meow};}3@zc$xQD}??6MB)%xa!My%Rz|+S6(B@C@NlF z4NkQH*B4=iU*+u?me{4LUwmbAfB3kzk4X7RnN%t46LagT=Xpcb1H!(l^!+|lrjp&& zC8Sqr2TjoB@E@=b)}=ULW$|hyX-SdkP)#29f3K#*zhbMpm#T4j1JUI^gWh$^)@c*f z{w1BaSKsHe#&#Qwj9q*Z(Vy>FXQ0RK8*e9X&wRS*wBK7FWSIj; zbj{yo%2Vay}*c}W$mvutM zq%0J z6IUrl5x7+Qgh#-X5OVW$*d|#tq)4Fa5C+dew(6+L z1A2y-?KHy{oe?SG=>|iX$jR{RkKEIg{SBJJ<7;|d)F}q7XLeNdw+%s7;7Vo{t*a%2 zvj4y(@tDYvF~$lz815oL(r2UYC?~6S3>J{8Kd`{1`!mq`|6AyNLy#^{DDZDt*gIm3 zUMlNfZXv(e`~Q*@9o+xtu>b$!A!Seos@1yP2K(5LO#Qd-Z%<5Y?r?c0^v>U08K3>~ zb4{sh>wc&W_HaY_+^C%sm}fm}Gr%8MTGA%;b3zCTF{`+-T3!<>A+=_)o#^QF$nm@W z{I#H&;_q?4>qlJ9iaV7uTQ?0I_!~zZQPE>g|JzgR8p0V(i&dv6g4qoph*h^Y`ZDTL zN*y6oWO>d@&Fjk8%O0gQ&Eq*x#A;jlP!tY5B_6qWZUSsFTmY+^UZ1K=$@WK zMpMRw$2IKvUsVKkh8OzA)<%!cnEJJ3Hp{iw9~^aFmz^VgslJ|PzpdncT_t+)MV5Fz zcd=VftYeM1nl5Rwn2cxeF09zywcM3`U&4nN-u`I~^J2)jI;7gpjD6wo*nP@B)j=0 zT^s?rgC#qUZnj*gppGR&u1f1oMp8H)i+7J8(3B>h5!Y)oHyewCRH1OMhgXlu_0dF( z-4=-D(s~(B&(hsqFGguJ{>uRK2Xd~y!S}w zc&laYf#)&cc`-)ccRM?l@f>y%c5w#oYj-nWx`%gh9+V#_ur>@ z{M3Jpy*L{+8eQw-!{!|2eV~U7am-^}HeF#pBAMDOJqhy6xm5l&V%o}F?338NjV8p^ zObvg9GPa-BubQ7NT?)-LEEm(3+2AsuYM!<lCuEnckzvZueHdxkE0$K}j%`f3q63liFWVG?BcZVQ zpS~YCm1Rf{eBH#WzcmzmaUMD_4QFQ;qo?>&IUVsFkN$iYo@o8~a#DoPB`(VNq{dG3 zsYJ04BZm9AgypB@QduTi41rS@CLRLU?1~%9qE#LKHNDHcyE+k}j{CutKkdq#GgJ7; zXXtY^m)lf*8PD2^S0q=FeRw$2ZeI_s;y+t|mj|R@3J&OwdW~zzt#NqadPcebHV>pF zvAM0i=8;`q6=eU!JeIq+JVq{6qIz4t=~hZwzr_6@M`}|>Hon-drnz4AI&za1m1(AN zhWFva`sxy)w(v`Hz|+{N`F^8a528PQmbxqS9pg2O;O?!VtPJEeqS__!itaw?gV8OT z)c88f)(a}wQv`oo-e1eWx@OhF9mL2nMro9CAKEAed`vPuD8_9eJOF{5}^jj(zf?dnyyE=#O@QUkqnFNEmdpF)j% zo=F>j?QvVIzKUWc#aQe&y5zQ6H$9j8{o1>BeP|zOdRr21ioi8Db>$*o3KTfEAhe6h z$N1h_J84g^uK&vUV)Ll_E;3`B;I{}LQF-do4n8DPNJU#5)d4j*nfS_SrcP5-#}n^A zmBy~&=E=e3ZbJFbsKDIZtbbCI@&5fsw;hE0NA`paxxwdc<15KJAm_f1p4_k&JLl+x z1HH<)uh%b4RcoA(>?qJP{6*Y)|Nj0gS_}m>CL>c~z<9SEl1W)jioLK#2WdZ0RbvHp>Qw+HEh5Eqd^}PzthwJWRRq1i3*C3u8 zbCy9?se=!Y*WG)gSy}8sS5Fe+#FSUhb#TMAnB_4$>*N0W}1CV)u*g3QCj1Ct$^5qfF+gtXO)v3LC{dD{6o^&DC{@JL`oGxmdf{x@*y$XidINM2> z>D;Hwj7F;SFPEL{sxdAnaNkcla{o*85AQDB;}~pq+Z!D6D=7{3Px5^rQg`f`zpHb? zb@e2(Hru}!Ke;oyMM(tK3!=-pLwl1m?py<+!Yw&~?K+6n-Xm&PrhlggrsfCoe`oL+ zmxfNmGf)_HH_3>a&8Mgcjn}Tlmg;ujpY6pCV%^_e*&mle8Dhh4t&inmWe}ytO>J28 zu+;C^z=9WdS39~jbvhN;E31-q$CghlR`kin8puX@x4Ec;O9l772aS0IkM!zJzX1yl zv=+0Xm@ixZJBvR2ALPIl`wX#ZUQu87T+v`2e?kH-W9$cT2`H=V*Y4Q%Fx(gWjklJ9 zCFSSRXHwFw78+ z>*coSr&so9^IhZMqu^SS*SMS8)nmBJ7h8KyjueJ>kohmYuW1A)D_|C^Nsw0 z973g+-H+=QpkW%{5>4GW@7+@3AYdX1jxOo$$17gEo9AbIas#f_R#K7q1AC^Q!|zi0 z2a;2A_nOVR*GTcw9>;BXFJep)7g69{d0Jo%Aw& zhrDj}`y1UpKR6a6+}GVd?AIFI1dz(6S-!Jsqm6PQtr1d<`Mmp^OKhB>^_eESOkIMP z`&;$3dycx_Pw9!mS&lKAwsc^LO9=GwW+ zLRDtj>n*V&9K8>A{${4_cd%q9BFQR{jr>s@MBe*PiCI^Dka9{J#Wg* z_E#o`a)x@9dP3m=MU_26#Cs>*qrh|d-O|H9^VUC%xnf03L(yNmwD|XIFG)yw4TChH z9A08J&4IM5GSgpJX0%ICy%H`Odlq>nzg>>cea4HEmGe zkLA&Jx;( zJ~B6Y)@g`+cq?-Nq1Zpe%Y=)VzOlh6?>l&S{lVfiK8a1Q`Pbb-ta#K3`*2Sk&o6U! z4|jdAz5M8B=3CPP2D~lLu+JTjUaxCt;0=3+^!Sk3AI&zKdw2=0u62%h8q1guH1aZd zrQ=@0Px2c;Svsdd!s|WM`7-UVT$}sPbE;#ym3E`P7u;&)8FRW{^2`VC_!w1tAlZ8| z?TK`1m3H@GHEjEqH-n@#rI~ZON98A6B3@Z5EB_#a{-o(ha6fWdOLM)%I)nRFj$eV1 z=u%*Hd7Z~HT^&pN!>uJDv<&5Jc8yon;msVH#bfv5)RpJUIWC80_+5RTLCCBS^A6+{)9Bf%sbILeZYeb0`aMR2fVWrw`EO!vRt1?L4V%w%#cdt zi$H=9ABKBEA*02Z_@`A5I1VCGg2gA7(TbjoZo!sD6L^R2FX^5AZtD~9gGy5W>sj{S zb7z&Iu7~<;U?Uu!ibKjT>;H<^4YjW=$Y7xYwUDK(Onp3&@fK7xN!$OSy%^S%Gq)NxW-bPYCtV&+l)~ zrpwER5wOoLw)3PjKe2g16(pw)Z`9#5k&AyQU+Emr5n(zmV^j8q;{qjf`ak|%Ck4;U z&T1}*A=P@Xae~PvriNm2?cV$p{dxN36j2JJZeI0LhYc=>`je`8Z$fWyD8!>Bt5;w6 zC;e#FujN|HJDvGEEwPW81O&;knaj*=a69Np!zlIyqQi|{@7;4YtGkN%6lR0TqFjWgVJwJ#87<8(=Ws~c_H76#HR_1Tj8lq> zxWT2N93tt;iIo`njWdgDmsN9RU>GJ7wquQ7@v3GMiRJzxavy9dq`%g)5u7f=J=|O> zGBG#z6Nbk8{ypQ{oz~MLaz>^!5Hli5K~ln}&K9w|oH(+zqX<&M67io?)Ki=jSTF(@ z!$;K4<=lI}M|x^$9n~{EJwQPBPY2e0PI4=YP%DQqIQ-zx_9ll;`~=I1G_H$xLqpo# z%>)HT)@xrM+iu-Ii|OhTn#>jLqzr+`$;z5qxv|J;>nf_gIU~nrX*d7Cppc~kGwihH z#;H&{sc7k&Vnwjb;5Bm92G?88#{v-bW&JNt%n^dcXieCi?A1I zRcYA&^744*gwx=3wsw26?C0ml{o^?3KIGzMJHEfxJLaA2#~xa)8FUK`b#<557Z3bx z?+=|Z!NI||w+(G+E>2gYx%Vxp0T}XMwx|oK90@i<7T>jWEc7_rDd3;UiTfDS5t8QX0BQ1?Z zr{VBt0KI_J@R60B9lFwB_xF60S@->PUwm?53tnI=)myt@6>+nGwTqyaw~sc|iz9B` z7xawj^HWoT%SCdTyqTU4;O#Sc-0=*EpG$5=#+QdylUDtq+R?)jRR8q!%$02kxt+a0rTXf4GqbP&!|V2VOBbk{iv!%wbUv@PJPM0VaXDQEk5Ou! zuxd~Hi0Df6-&U^*Vn%;Pfvw5g{ye zJ=0TDLv=bbnLUusJc29F#kDNISAPgMDvyeC7`Q#@jQ53k9!ux8!o{XKUAAe5bJEUp zk_q^N1!2dkJx4P}gyF~o9G4P26EpKy*J~;Pf~_vd7;2PznQC(Ft3fFD@7 z$7egscsCQ|os3R$=$O^r0T?LAkZ{Vqi=^Wk_&5_fyYTiayMfl+S<+Drz%(ZlBECd!Yi?yfHJ+JnPG=AiTj&u7=OwbnvOoL1Wmt&_K;*t2R@Q0U9F z9N%Q=$9m_-TWfcBo_IUJjTJ3w54#a&lZTMe<5XFnSQVB~h65+7)8?LBUiYu2l7*#Z zX^HLK$E@|Skd$6Gzaa@Az{xA)<14`*vFmz0vvnmgnwm}+b!aPjVuyJb&zlYoa=M7% z75cj9RlVWm@oO4*i;j-21W$OxmT<=_Dg_eN+9%e8jfjZYc)D60dxgah4#(s0Esj*Q z+9+Efr(={hFub5BvO>MRy&WNm);o=?Aag$(5d>!~e=Bubyse3i^??5x#Xw?iW_G+> zA1OfB<9vI(2>iwvP=@Vds~0GG+pRYwx(t+46$`@=n02h?FuGcsJ{QsN3Gljw>4U3a zOoiXV2c~*eT>`os6|DQlutMU+TFJ@~qv~aLP+wo)hYue{q;WyQ2VKD(YW9wfZ1H2{ zgDW<_OGmUMZkpIE=NPG8ZQ7qzzI|gfpCV%{_ZO6rkzrwBAe> z!|%1`hTBHIAt4ii zGQt(L)z&bD2pEb3&m;*wmu1PCK%5hgw=^?zzZ&JBz2RVIkAX)LwE1(`^0vk%@lL#p zTYt+IF#4z8g5&SkB}^g(vjGpPTCUUU1;(r_9#Us-{G>X1x|GrCI#hF?CE(}z`t0=J z5zB!OaaD4C7Qp583_&1_$?PaW+EvL>Hk6}1OW}ZdypEOzA!6jFrQzQK6_+b3a{@B4 zn9?yGM^d;`wO(t?{{}prHlLxOG)VB;7#Lih)UO+~-A(06<>1i+xT09t%wH?`=$WYs zI{=@6024!fh|crn-Zbqcp@2j^Kmrb4cS`d9@zLH`G)b;htry~c9>bUTu-&;2ot%U(R5 zHb`^8Z9NuzNm>R#kD(ft>sifuDAP$2&o&UCn9Kdm0PpQsogV|G@D+QPGup_c4!u?+ zCMET&(Po~ngyhyzyI~gYl1nA%C7j$G%|Acf#NLNb1eBH0@BZ8d;PZ054MS2K1!@w$-%g~Uq?DTP>KgLR^=L|Vid9LCi}P16qERgyKyd?1N=!us3*{6DqI=D| zYWqOddMqrgu_PuTldk)qAcQo74);J-S;QxaH8&!SKLT13AWivK!(`=R94C=nSO>}? zGb5&vrsTpEpn5ICpv0BW+xN`uGn?Ik#)DzheWE630ppphhDJ)#Aj558 z;jt(c1bc;%_$HvACu!AN!28Y2%?&BR!XL~QV|ST#c6M?G_^`*nSffhSeJN}Su-{6- z5=dSVdPhl_517tol2U*z5WKXtwS`M>u5Xm~W3tkow5BxD_`EVIgGIw}15RkI=OCd$ zgNt2NKOB6i#L+X=(Em>TZYnx7=v;lXg@Yq6Dlg%1t(6<^5kL`uH;S$iBp@I#=>rIq zNKDDMR>wMQ0#I%dCs1t5Rjd;e59taAhmwv)TO+=>n5OAXxo$gr442#Ov8t{| zKmkSA@%ac)sq$hxiJLo{ez2=Ck(eXV$XGA!yYAZ_V!K}2lt{)b4df+>oUT+3n~6mm zSGDVn)?PdR>#Vt7LV*i7fx25Ht+Z^8j<|2PX=OuVRoH+KlWZK-m_!6$Dued71g*$+ z?!LIFD95Yd&qW~qC)G^Pn7y$eZx>dRZ)uX*Wn~{%DV4XNu+#Kp*rL@Vd?O5YFqPs* z0IyB*u@jH<*DLecu*F_2U9PHP_GeG??TjLO7W$j!au$fN8PX8KODk%+LQO}PJBv>p z0@%{~^pZ83--Ku3^ortsHJ?}7h2FLIU=qlD$Nm#G@EIix1C3Q)Ls?W5-b7+zrI%>q z4*+Tq0yxVy0+6wDyv$6XeQtch2&z2+5x)DY&GjVZvD?@Hnh{9qTIf+5RQ#fRyg;vQ z1;o#Ue#CondW9wg1Qb0z!l@Y;z}XqAZ6rWZ3e8yc_ z5L#IfvYj1fR#Q`oKxoj#)BP2I5leD%$RH2^s0B>4O~~nGH3I!ZhPknTN|$bze+Dlv zFOQFp|Ni~k)6)aM`;*1$y^&-V2Zm*m-(FrZoPg|& zfTHp47%^_^;2@Y&$3jn!(R3_ryFYST+4Fdz68Jc_Pbu_`%)#cSys~nyo_WNzdm4^p zM!qG$C=ZzL4rfEl(8)R&?4tYJzoI(n>k$GpbE*i(sFLD4b}A|21|lhxiJgtDS6wRLyw)^@-0BXM`UeaZAr#X?L5i*6mRIPF+o>wTHouoPt8~2qgoz ztAkgEmn?fNPbM`9^B8dKR)=t$9uKTtPyjVDvjG%P@^xZjBI@4^kPRB17>F8zIz%$Q z;hJa?)WAJ!f8{loB_oPWO2T1JX?8g9^;$LrSf^lojBft#bphR`5f11|hmDx|xs+B; zKc;?OM+awYeso$DOlF$Q#lo93i2tg)hljDnn`Oz@D34vjMkKebC8es*`W$-1PZZ8K zhqFNZMPFiM((ig_zN4h7GAXz>mJU?24_8cFTGH^(=os{A;eZH^xH%-!Ull6mpQkF| zK7C58=a5MFVlq!Vrp=F~&SVImx>ecP2V=$7!CY1+2g_j7Ag4^-WUfi~R4@uL* zmYUt0Pv;RUO?Cm`EjZ=wbT!nzlJsL=1VJbU&Kn&`Cmv}W{MN3>V;5-P> zR7*$o^wLmOqK;eMFjaxS;AQQhH#Rmhvso=xi97_7t`iRa&wr4Nk`eWx@;!N*zow+% z`hVenyggZ6Spk#?YHDhLXCoMX6D~hE7hiQJtP42cHpnq!iH+n#Qp;N^k1Sd6g@FmXKSQ(6raB|WOHD1jUdqEVC1r)sYzj0LtFd#bhSCjbz;-k!Wj{g zC6nt_P?)RUsOa)&3c&`>OHbBnun~qU;!<162t*p@Q(1YGY zK(@v4uJ@ALbG`58#KZyVEq6G~#R)}fIH&{D&L>eE2=AlXt-(g~ogJDTZk=ESS=o=j zxA?0$-@5^FMp)ay8x~6912$zpc+{=d_rC)mfX{pa;vv`WyslSx#Vdg0Y~#McL=#zd z|NLOZI^5G}zlU~X;6+)eMehE?-yxaX@sKR`&@M}Si{y@qm2J_vWg|RFww%#s#qIAo z@q=e&Ljz~cPe7wcPD;x90Pr_~w5}+q=13Soh*5=+rM7;DRAK1@NS`y0RNEKLPiAEs z=*6^9Piwf+;(~E;>u(&~QqL<`0Nv;sFNyFb38tZ?mDb>TB+Bg+lGvi5kWC9xr=GGJ z6hHv6>sqP*C0|V>{jRk~m8zb0~J@!=cXWGYgu1BP{n*`RRN>|vd;O9?xX)-2m zKUUA@8&%;8dYzU5HI|P6&qFI2+jXVwML0;$fBXKUQS$n3I&3iVu3`>l3ki<#76}q7 zp?M`!w*wv?o^cH7n-yXXj(WgJb^Re{Wd#x36Tx#DCTXVe^72mcaUA8%BsU0m#WYlL ze1oPH>Qg=fQ-?nOC%tylhFMk@AeW){0)2;=@OC)))6`H9(?{HnvIDLYT=HuR`JSe41bceMPJtOk4#-e?kl9ypX?TH+s>VWR+DJ;yB+fcLc1S>T@y1wZM^ zs_di2uwV$io|t4WI_$_lWElhlWZZDcbfH2&2e<0`{Q26Q5t0-Dt}cX8Mp)GW)kFz* z1FzExP642eAbFkyUBZt|PWda}jT1Z-JGVAvK8XW;pa%5~v3k+4Ir(x@8ozF4#AZsR zAPfTll4bo2AQ<8{7kcnG#=uZ9h6}mQ|7kaI`mxnIzlk8VC76%)ZhK>a5oog{>6egz zm5Lb;oE*A*3ovedDNH_`aXp^NA~03C-)RnB5~HKhQ&B3Bh|1)6@BNjm*IzuiYR2~~ z$;{JW0D_*h^X~LFiJHd5{QUc3gSMK&!a`HIn9wxuz+~;kJZF6gt(^P8-i|Qxv7sSB zDt&uQQgdc&rU(M=K43;<@Op$eyIFOStZ5R82?`2{51*Z$%F;BFpkGpy0V0WFI{WC* z;MN3Z@3N%$Hi?6yBjBt;)ioFmH8fK4^75opzv*}RBToIAM-Uc?KBIkudbPIB7~p}A zO;Uatf=OdLqNc4KZU%b#Nc7=+0Ud_r7(02A|IEB>KyA?NXj^<|jJn9((tdYD-{f=S zr+L6K9lySEI>v)9@NDN;&tDDGaI z8+VEqFHUi%xVyHvyF10TxVx3&?(XhxbJ0G}-rs)ro_FS*@0cGm?a{)0U&)nZC0SWH z*O@GGK|i?6WR@gmtYTH$Dz{Pp?xt%tNgWyWY{!#8ui0|Tg}Sd_um|2NX%mgH6afP! zU7TqPE4115nz1o)zbgC=3<3gz9X-uUd@Vg)U0^No3i||Xi!E(z80{DuU?~BkK2!V?AFnp}F%P`f3@XNM zNiT5(`2~qE5JW3K1``wWC-*$HIQT43^x2tBU;@ttivwe{2LQ&lsb>iKBLMwmSM~tb zBiPhXyeA0AUw-fED5IeprUkqKW1%UU!kS3HbOu*isK5CAuPUSNj7RU@I9$6w8- zOVrqa@^^N=BuK}_!~jUw@m#ej+&ggXGjLm#F`Jrc(`TJa))#yUSbHdpD6ZVYFWO=- zO{YtRAFifK)Vc<_Fhh86H&9QtT5q>-e6}(&2!&d|ttKb9baZt=E*t=xLLH^Ts+f%_ z7~~aK<*np5*#@@8Eom+I#u@-fG@Q!iZ;Xn(A*2q##tL&@PMa=;iv~WhlSQCBxU(K$ zZY{eW^As-C(b!`hyNAR9wHUUJ3B^}xf#eE-;#n1}`E#vc3Y=g$n6g0Gpcj-_Ojl?-#` zHti~FcLU8yHbW&cB3$=k#t=1NP zbiher6$01N5F3k@^|4$+7tJu`0Dd+=$|1pP#fWhm64*rr2=jetef4O1J#o5JfC<=< z0?@<$K0Yh+Sg99?1V9w1_%|AU?P1LB&>A~?d*JPB6Pq2ruy1(I)ZWL{P8=?RMsx`0 zZXAymGOxdax&a|@+U4l@f$D>CkGQ zUb9|ir6Pa3=+DB;+|k)7CaS^;MvmqdeG}ND+o=gHSZ1plAvpQE%Jj9b zvAMaqw${6v zybiIK)d3k;*p~X1xpc4SVkPC=KF>FOZVsQyi79{KEx8Y2>5ybm= zXOmnkf*)1MVT6P?9ZU_jI~bCblhv;J0_kY0>`v69c6b36of}gSvDJDH{KcO2MTc_} zTf;-PjgjKV9sQI`bZKoJgG^Qb1AqfjRgqb{--QW`IDYwWwJ!t!Q)d9eQIttd_z2g- zR#b?DWSl>lH2k5!;wM2%oBB+DZ}8xR2svl6gC-_HQPBRtr>z;X@*UYUvbM9OmL)Z+ z+B411w=n))igKDkLu>4IJD;xD)F_#>IYTsQ>}?&_o4e7-lf_w~Azx<*D(-?ey%9C) zO%Ogeb(lWWhb%n{%Y$ z?CtFp#dZcu+8milY(xM>h;^^sL*4_Rgz>p_MNc2G;+JRNNS30?M~Q^vEskc8Fs*}K z0xoAH4om6N8kD7??+mMPFF<$}S012clVLSuu@q`20yC+u^M1-u?bXmrt8?>ecK}?A zHocXQUB{958H@3$Db_<>lj(j0Za~S0kDQEDJMTNu*MmdmMkMYl`};`auX7jzm?{nz zPP8;Riah4YHar|WO)<@Db~s#?xk1Y)&yEVA4BjQ!GAE$;4{d2X#~4h=%_gg5txq;q z5#>hN4_sPJ9}m+wt<`%n7O<2EK7ERa-~y)3`@QuKsZ~P@Sic~qmymc%5P#q z!OmUhjwaj`8xlEtGKf3i1=C&IBS7BKT*|Hj7A*ehcPngt>DPYfLJ@JKXM}VS0R2SY zW5^pCG1t{Ox?&Zuy%?j>Fq1L+FOyyaCHWFltbtqOtx`odf#Jg;M}x&`T01ITa-zRHgWc z2*T+U#FX{D$)aYL%c#%v=SN#5Og$n<{2R13WONY#xn^hQ4Ke`U>@J}WVuayxe5=cn zhBL=Igoi2tNoykUzau;&r;C8HhSm4jG8tt11o)oLq$C(Wsi*|hWrYRY24kEo)d3Zg z^Np!H$t*2RYcY%+sD*^o&2eS}fjArvFqb!k!T_t-`Fu+!iHwvP(mcYPWiwysOCY=dEe9I%pb zY46YFONz@XepIw6V4|X)?~IbP?C!PRob}TKTVw_aUXzRWiO|2~#^RZns{jI3oglE2 zpE6gak8T9OT2{um=3?4!k&&_%7IZ`IM`xV??%LGUbaJ?|!6<1Mw(u)eF;&Vy-IW4h zUv;<5^)y%;HkEXZC5h~*!omjc?U{5#7cA9TlhDw>J-sjx$xVWPy z&uaoKuQrYqy=9dunC*M0VbU++NQ*KvnXud9Iw=M^^PK(NIGThwUXXocH(9V_q<=y2zFy@Am*~$Qn z7;X<1btCFbPO>z2-w2>sebCuq%OH3nvj8Xyr}6taAgh%&G-{<3UiUk|-n`MDoS3)( z)Tx59GBh-FWxdY?-~eNnO<+lV#~64T3{*S=3Y}GaI8s_5r&KO5_qY z_dC17TEG+(FE-E3$)U{lzy-^N0E`H-&_m~oozVvS{RYSQW=9C_=aW^zHA_@fRJ2bw zQ{D~@hdY`yij|G5q;`z8%KA3GOYSaZ%PE3IoCb;nNsesWjVo`#pRh?*fVjI1Mi|em z)YQQ@(?Ea8-pa0IA*Gv{nN5t2$||6JCL$u@&;9JxCJOkVrchB(h);_o;^`=J-asjMHx`9+_VTl!1cM~La#08_o&Lm7ZC$sXQY z@nvi2n43QW=npc%`K4m$mnDEwH9%-$)$DS86#B`2rR~+O76+#;9wfRKqE$Mk+vVjT z=!(~)WsZ{>oS#D!fS_Jx+j}>Q_SdY9IfZZ594`Qf@fpbqK<aks)z zu(Rb^JRVMayNp)&(A0$ec4o@;tpO1D2890>=&;grv@!V^g!f`Y0HL@81X9%p|dx26$FiRz|DjAilY=#AXAu8{m3HdaiP- z|D`|kb7+V>4wt-XY`7S3W!{9;*0L2)Wg)+~$k$}Pd3$fFhfl%E5YVT1&%F7XUZ$DO zLaTeXlIh(}ud9^}K$A0<73YW-T1gEdkB`Ua81!Ji2NF3!ZA7I+f__K@=jZ3qPJ~QM z(Kl@XG$v$vOyG9%>U6nGv$;^5w_2<>koCb-ekXyTfDSvwW$LmH2u%$Yqd+b6eRMdS zyZljQW#e#`yn}&;8r#4bTGUVDb+JUiq}tx2K(&ITEGZdsli2$F)Tk#a_WW5{`MM_* zM@VrcC?PQspbFvk63I#fsD7}@jc7Q2JMQevOhRcIV9y4{E;KsI07GP_|0_?UgSl`r ze~^Do80$J2z1yskd`l)FB6$M9p9!vwRhTe0+C3m51?XZ#-RP(DO|I9aLXx|H1+1fc zb1=(v%A|0r%)moh=mI!g0N-K2bA{`*1(b3q8L&yBY|dJmn6LwQavK}^qN1X>^my-6 z6EuO%3)qwONCv-9DnK(iE0Z#X9=NPATc)zSi>jSCD7{SHD5C;B+jMi8H94JvHxr%% z;0TFFFltVLnM#E|Oa~zl-t7qp*1a{93d;me1rKn|y3*_F>H?lLbSEWb(M%>sjx&a7 zjcgHyLTgJPZ@QqyQ(|J?b)i|-)YPDys_N2cG$=&It|6`H{F2=azvxXosqOT>Zki@(vff7Cdkmhqt zddd@Ib$e#;+BqTy8Zh&#tE*R-vuLA}lBiArKb(Z_J9QBezZ)6%`zx}in*98anTjTh zUK}j|GcF4;*x86QQSP%A3qbO8KTP9|l&n#U~7YetuvxQ){_Q&g&OYmb zp5pUK8)LK-@)g3Q;}JC@lYf9*ix;jgdh;}v$Yc~C69&)<#521L)q@v~fDJXkV0r=; zDYAflU>~_=1P~b zm~xoI$9*Lz+%<3^At9u6Ng0_um$BvL^c#I^>vFfZbXowN6oJIc&Hypr7}&CO^{o^s zmvx1W15#feZ3jA`bcX8f&GX2_815D)jm~G?!6Vg{8(S|G?^}PYZp~FghmDiWVCB8_g5u}iE?@VCh#NU(>VJq ztiUKvNp7u+N_klDYV(p#kXwcAwkHV$ zm)#DbEl3L+nCxG{i{67lWkdqJY-%R?S%Lwg*gXxFqA5d3cvv)I+=N&Db$$qVcL4ov zEjj@6CXQd-3t*?kszh?wZhhn%Z+3Om4GRF!&fq5=M#iX{`H6`M9eqqL2O3b%C9pk~ z{Q?iA{Xs*cIoY{Z_WPpYU}|b?bhi^74Bdj?wAlP4p5pCu zR!hqhu$@H-YX^{Eq`)LKIBPN743FuiD_-X_{S0d^E-qzd<%}1f2P(nO{(jWQD*yyp z^K^T>tIo_Mnp6w;s(JjxW)J~JCNy7T4q#a+>VEaEb@x&i5b=~YODWxA*8R$~!%Gp( z7UOpllg7ZpmxUoBlMcdjW6hw9N2a@SKb+r{6QP9F_Htw%otW6z-1Pl4qZsL3Cq*vSWbZ3g& z-$paM@X)&3LdK~2eOSzXZz3?E6p4lg(he|iQ4`$k0sLiVMkPhUTouJSaAkenJEP3c z&ktB&Potn7(g99G(DU8Ju6&o62r?-nsKZR*$sUF9L-i;uOu{AMl+njm8zK|hCMHyQ zQPh|aui?PN#l*z{ZzDLXw4@{)9Gsn%Rm9Kk?1BQZVh;di)i-&a7kq;{+LHaxqXYjq zL-2q0i{%4>nG3Jpe>k1-a%|#%6bA6WJDu^r83pjaoWq!sfbV2L5*}?wQp!cr^wVZE zMDC;VE4~xMkTnHg@8)<@dciyL+vuw{Un(4S0Ox_5E>()-Z0K)g zDqDe?5VI$OF7N8_3U&F|h6en9e!`{LQXiTD>z;(`E1#Yx1Oz%v_Cz!8hBcFlzulcOQJOQ5FB%QyYAIa^iAHHf!_z`~{f2_wv;fL8W*zj(E~ z@m-x>j`y>$hO@gT(oJGFZQD)b)Zd8~aPPka0(GBhqIzfC!E zv84{u+Oq&6UH?_+F4xhew&StLj=Ujg7J5x7W1@~9vo*6BKinB@{&^5WR*P~OWkQvP%_g%xXgoOY+RSlPTRYX-JH!1a zC;7C~gRP9Ks@}QW^bb#=BQo#_B){kX9Jn8h~t&g5Bq5Z(TJXPVcwv)2r$3MBe zkKfxrSD)^FFgUJp&Q;Q)&of7c|NXiU3P0dXTXJvmIC`ExcXLs>OEdRV{&jxZa_!(> zHQLETNG~&;%sb@VE2lGr9oYZm5;$LAoNiM#>0qg`q`5b2TRjoy7PS9z1vHp8=5k4J zK4=`@`p$+UC@F6oJJIx*(#CQ@qQsi#cad;gFOponGNjZ!=UBYlQkrRLF^1jylbf_z zh(|{2b{12M&mRzEZ^PDOu65j>NcIeI|522AZ0-2LQ?59Ax_6I;^81z7u3VHcE0YifN`spy`byd$+PN|NTr*!Mu1$$0X zUgJ{0zUStNeVJ=%=wAuVk$6hPZX5?YN$?Rj<=mU=OM`Fwm-Ji*l!BJ4#QsQ}zdJ0R zqvGPOMW*29YzF1h@G_UJXC++jApLjayok&rZ(2aPlJ>aGrIF6Fteq(}bp-wTOV%z$ zwG)VCo^iX)^^e%oe+C?8iyDS332pj#OUR?m`Gw-0m}7HfgH}=G*q`UxrPg=IA=}cs z0fWPi3Vg0*jtc8iA`8Du!u&)pJIrEfX|#1uG?BcN!?N%+wD(FZn)%82ulWpNlDpP# ztMz8QKqTK|yz!!_{PMRnz(j~Gp)SW z%LzfWX})Hd&ZTjqZ&KdnJ*^F2?m`}|FulFV<6PrG^E_vg=wn4#wP?RwEo7 z60oC0^ILK^cku#6?Rg7_X(cSL=Rq*fG$_2@17yh*E2Qh?}#rc)n(0uxF)8m5E zp@xU@dgWgoM%0acWwV5d`s)6?Std6{`g_`SpBeQ+o>sGIzQ-&Ds^Y!=@A5De&$o8> z9}is%$Sg`4;(-vBfYdz2jC~J53%q&b3-@HK!@H%mSQEXg3Tg&_vdA!@g*SuhQELb? z@1%~$${LdXWOMpUv7J2MyWZ=g|5d_Dw(~i&%&}|1^ry!s&Ap=QJWqOiYkIVocX=Ui zzL^Z?xH3-G7#_cK7dq-Mz@~I5VA>P43~axYKduSeD)+#e{PKD4w}idgyOt946kSWx zw|fgzNiG5w&d*JO%l!5|$GDzL>H5gAepk?sB`+!HxKT?S&vf`+Y+TQNpjY!c!J~DT zCwDpA@@{@WeLn=F&lGNZs$M zFl1BYSfz zF!>$N4|6J;9`V-yk;9mL4>>RIDB-Rl^U-_5%&xqO z(_~DpmzCG`p>^9X^eodR#Tm}ca%x$SzoqScYoQ@DIPR*_{F%pZvcK9TXrZh*hc51q zx@)JACqY{#pX8dBp2nE;u(SXM)_$6K?C+=A?9D>%c)FgfJ=4RPF12h3*;hD5f2kt9 z-JG=?rp6}<=li+&GP<+Bw8VI_cDV3d!Nht& zl6LWv5oV%9e1iG-LBJ9?Q(Aefa~$spu|9BH)#IXSi3QWwyZN_esxDxAtb0ngU(<+| z-aKM=O@6?F19n2Pdg_K%T2_ctWaM7|u3i~IZ!+Fh1_sP55&d)=lgR~3VRzIC6XP%R(_T~nm*(87UGsw*RFoY&~m+OS+e8=TQL&2t)_}AyxFt{ zx@d*qLX=nic9wdh^HtmF;H}jq@bNhjk?p5HgqL76A~e`G1pxxskPI&_Sc=wMY(Mbz zx$0&oyeAOU^g0a%Y^Lg$|Nc`HqT`}9H}LKbrOi{|0voW0Z=5|GuS$W7yt;EVzvvcU zC&7W;Bytc~NP3x$FV^O;Ek?Ss+d_K@nzn9qq7}K-X}%QjVd$IM*=k&x8#@@g?{>T* zcih=3*owLhy84j6X`H6!?C%oCHt09b4Ihw|npw@4UU`w2_AK7e=5+8ho{Zu^Xys+I z18py)Y8IuoRV*o7PJaVb=ZQslp0DwmK)FL@Qctm_^Ze;Z@mi-Yo+}I*%+2yi!o-dC zK)(8cqq@&i`qG;PjJ+y`SU$V)ph!QFctE)Iw|p-;nuf}T^den3WO@R*z;I`uKM#9f z;(`rr?mN3yb6OIl)Izku3^*?D^^-j~6O=jta+A*baxUoWWaZ81!m>(B7+B|TdT+AvsFKnZK79R=EC<0 zl`9>GpbfV=-p$TSAO+Bst;)SKK8}jrn8CxEPKuYB(XYVxQ1OrHH`XIvl3TO4moCU2 zk*{9*jB(k7po45H`AFkvkZrNCIS&%7CL3c*f=XT8<@V9J{5k=w&F{DT3rx;jG!J>m z!F~|sbi~HHs&>c!cimv#)b4@Tn&G(m-4W-wyW5=t60Aj8ahFH+Gn(g>fa2qm5Kz&R zGMK^UMzrG!4@Jd2DKTr|g9eclI51o_kU{$-C7Q*6KlPH#sK4nif1HO1C@=)`zHbt@ zR+ELl$0X`U`hk5i0=k#+Y1{YNN`hCN=w*PC9sY`Ut8?k||Cjk-cYS!Pa&2K82n`ly zCh41uvhwQ`Umb_n<+S?e^)y~D1X#;8pYOqd?tjowEdQpVL@X`rfC~%kb?uz33<&98 zZbJZefG^h>ygVVK2M{*k54DVyfrY$|g)OasrJ4R)dSMGaOMPPtBSLyHeFF@Ts zk8c5uWvgdkp|4|M_mbC^Pz}WTvNHrOL{P9)v@iy;7!ZPf-;wa5n}C!r%JO%bf7P0Q z>h$ve%NuQst?Vpq2tjOr?K1x_s`ihj2#N{4yyB%rjKGBrVnPa*qGCc)I#&Oz^zX0b zoo($5%*8AWEeW}~3F+kwjErsVY@7+X4Gjzp85o#B3=FKyz(3%3RzP91vhcp8m$A_| zuz6|!--$T>O2h*EG+U=GNNkm05A^vZ;441{W|3=DJ( z9BgbFgiNf!Cw2}x4rUNDAuAh*j-8D~gOH7pP>qFyfsUP#feHA;O321R$i%=x2V!Gk zCu9c!Sytp2)SgAK$)$Ii+Ibefo* zj+wC@zlD*R0Z`Z94^#K6|13ByrYzXOr7TFmH8N7_#xAcFK5Hhm^ z4Fb9l7$gQd=5L)+y4hf?a3^DruP<=1L$f1k`rxd`%e44Tw`^tnH=edLID9u zvi>PKP}0)1XDtGkw26G|#MR~U<+AGwDf}585^U_G(_2MNQKK`*Rt#)IBHJS0+`^G&F#|%zQupW|7I$3CT-M>Q>6UNSxg79r zOYgx6PpJ>i_uD__%P>D~A#b#XJyd&t{5ZtqiFcZZJdB5%$o}b}Y|9>O3*zH_`^gt} zyLr=FiP0z2pU?WFcG?3MIjD~$ivhunf+UgO!ofGelyC_s!a~Djz6=Y%oE3PksW3CL zve;hdfx)~V=7EKj)P~?9{i--l2=(RQAR?5lpm269j2oZQi~BL_f#>9neg^^r1hljY z)UuFNSq`qKlmbp;RbIiMn)=MLgUJ>*Hi!M<=_JcNWv=yVwZE+7$<#pje4}Hw*@NZB zDo~HiQu7&K)#K*k^KI&WSYqXsJnP*2H_d_jEe36b;s{v$?8#LrZP+Eqq!aRyZ){&# zn_$em8&&w+7Yv+|XX|V`p}%($A_$Q*e!va65aGu~kUDrBY23;|4!JHQnl{vO+je-I zj7ger``oqy$*TW_m|3!7vU^dm)x?VoZx4O%8X|Y#J zqBD#TExT2|UE#R#eK+Tp4<_M(SY2Mj9O~q2Uw2CP)^pPO@CA_@ zR?GXCa8r~4{B3EG#t9NPl>Z7%3Ng+KZ?+rG?zHw>gb29JWz<8(fR8% zd!NdeIqH5g;|V-Au+H%Yr7->Ef*j7A^z>UlA>{r#cil#s^5I^l{oD%k$RB!TAI<~$ z5YNkXl{7^p8Co{z3}4WlUZpevA@MMxG}d}JL9?yNZT*-Nz+(*3I@sQfKQDU>Xg*Mn zG$U((uYw zSKN5NnU1xyvZ@*)3m7EV-yQ^b47g#e{8 zDU#t(we#y3ne&{5e~17Hyaj)iZrNBT zSq7EUV%+Dd2|tte_}fTQ9tqkywM1eu&{B9jTPU;KUnu9L~z>2-c7n z4_ly2-If&}A}htS!gLGs5?LBV|6uHloowzQ@>bJwc zGdQNPOv`t?+@0{S2$d zsE*Khc$Ot8-qFg*`hi%9Y(edY-bzMP!fEQ=10_t2aBxMX&gUfBJ@BwuYB51?ZF&W+gIK14CPKCN+O<<_#Rnd9NXhm_*SqrmpY zyfoMQ_C;aWj;;8imT8CQ8d6vBM~HR#GGWPeJoCd#Cd=+{M8^_y+HB;VDc*J0TWb|K zaQ$06x?m`jl)zCk?NrD7{JJJmCMJ^3)WpEJX@d+lj`}5*qVXxZp>mZ)UtG4c33`OV zVn#k2yXl;?nqxd3f^-fZ`@@hXwy)}>MK$N^_k1o#<=^wp&-wb#mry;|p}X83C`JVp zx!7b8t+Yr8RCfXyp;DeZ=B47^8;P#BT#Jub6>{0jijj+a_{AS=+6R4lonE|mSW<}K zdy}@myyf~+BDvN+Cf?C(KI9(Z$a@1KxBrv}A4_&)04(L!9jTIv$3YhQR(`_ zP4Y9S@*9`^%7|&a(No*Co4KF{LfD=pcj`0UoXR)*$#of-N+J2^?}1?{xTdK!4rR0W8}f4o^Q1b+pI!4Ux^FJU1x{^BC(}MX#kXv1&LiZq zT;J3+eG-*2;^*VTe>Q%Io?c_R-i&osswoRu)-iU<)|P0;K)V)R=nS`9ybF!2+-5*v zzs?QbSvUVNk)D!LLma)`O=HR&DZ{+w0V3DskZQp_4q_R2mE=JEmLnx_ENY-zi5?c= zuEvSOsG)9uIc@e{Ky(^f>MT{@`R7RB*>Wq-&11_^&A1v>QTE5*+?@fTZO zgEX<}|9Rlmj z(Tf&6fsuB!Xm=RP7Jk9THr?;;pC0^tlsd|zEH;;zC${J6D!Lq~#pQZDJalcx_k6C` z%f~&v=zN9IWpL;3pDXbF^QkpTKsrUM+39q=*7NmfZC}>*7FT9gt!TJo>ix~ehA4*M zBE6f<*+%bn!vnkw?`deS%mSbN@~NIEML2NuF0By}kNbz`@>1aGPFnfsB1vbX0|Gq4 zh3H*JbLL7|+To%`s?AC%!0t4s9h6c#UKpGCq@}D@DQ7i@dL~9Qs!6FRasYLUR7pXc zpb{aYAdzEYAXME)u{MQd#a8pWut?pa_8@AZP-~NC@&f*na`m%c2-OdaD`B)yb2&W; zqYuSO-$DXou5cJqwOD(Z2xE)P5c64hyUJE0))f9aM&*HgIkG&Y%2Sm{m@6#tebIWp=LQDW3zFJZR@L`FzhOIXOp%9KD}KzZZm)uBQC|Y0OQ` zRT8v8A)_?63G+*nFNX>mN#i{UyG6FMdrij$c3DX;t}s$W*vi>sekpctyok~^TND;q z(n6TaDlC;|f;_HzSqqhKHsZ?>KC7V^AyX*<_Ypasw0CSgwtO#P{PS$Sf-bRMX*p!D zFU?Yh%&2@AdD6y$m$Av&gnv#FVbI4qvy%c*Ij3Yy1y^rgNMWN;Il)R|p&TNno{Hz>o! zDJYWB@5s_p74p49$P%g^@UbQ%E?0dU=#FWCOD9q)l_feLJ(t(al)-+N%?m?va7|5w zTO$G2PbZ8}8KCEB2mkhL@O-lGy)>@Id72fUht=nc*EyQ0AC$KTtG*_~Jif1vAZPhx zTTE80h@HL18yH76K54 zGFdL*btm3ls>?dl4>ozJE$+(s8!V@M{Fr)xhBiuR9UE+|~vsi|wD$kB`U>J1icS#CzP|ktkcLc=}|gB z9Now=sQpYJ!!+e#CLoS;1=ZlCUWn%C_4G-|Mz30FH*4~{jQhqY*B99Q6}fj}vM>!h z1^hY+$BMK|E^{kPThRi@DMBVPaKb9f*mm*4{wB7H5*Ap(?1;f+uMvub=^uU221M++ zN?9u@6vgDbF5fDZ9I9A3TRN#B)k2L@P6e113MTY1zqx!DEgMOfu#)+0CY?vqz6)dC z;&MQKhG}oy*Ibg?WeWRKvXOA{0l#**%qDs~Q8YqYmG0xptkCF6BF`nJCZAz!@D;jZ zDUY@!;=YzlV}l`u!#wOy;NXfPc+ z)nh%~qdkZZm{NhS{ozT!5H?YC^kiH56Vs+UeR?ByVJ~G`#-uYV6xN$H;OM= zokg9yTJdSCL_kMnEM4esqLPS)bbeOPfLA_^m-IaJD_fSoCRU^^4#prB=P%TrLgp!r zt{jA4ExgU~-T5oTN(#jbtLP4MI~|jR^(893RyTEpLe+!*$!~DxVR#DRUF3M2P9ghZ+MstS`M8dqf}*6N4Maz5zS zr>(h<;Ueg)qcCO`*P~+-_zaCsi8&$4i^ohAD$hsfgQwTyEXJv!*`a4KKtS<=`Lb=l z>6@eTS&LbT^2g2{kiUMvY7a zORBN)k?PBx4VO-dkU^duaV8dXy?1_VHkERY7sltL#GQc^mOBNh0g@Ch=YA6L9Y(6- z3Cj&t_>dR#N2BKp+BnUZ2Mfp1$c34fNWvyNrp4Jpda;}qg?D}~?$W3h`r@{~c0}k0 zjk8rk*iYaF8VA0NQgedTaa6dQcc|8W`C*p3z`tTbTj9oeM`m5~G=BEX=tVHIilV=1 z_{{}#8)BPtcM5lYaDr5X)sVxuG)G8}V}^RNOWegH(^Vc^%1a<+xziGh#UGCX9nvpy zM^62thJc=BDlN?Smf4m{>wP1MxgA&3Y91@h0%keO(NrO_nWScmyM`}22`owL-+9+F zToZ%-jZfdBrb|i)4h;vuN{W!ZjOixHf zIyDy7Sh9EC4D&R z#`wAE6vPYPJLt)Fm3Uwu4aA{A)hY;QdCJd&-^DZbF~2hyKYzv3KhQ_t-{V>B3n|Jf z)ihG&K$QH%J~+?AY2?T^mlMHg>V*B;!ZGHPVJ>RFL&@$2Pj2Q2YJcIMBufY8W$oU2D{TpQa?_f1XcF@0|Y8sLACS8O`e#h=X z^$VIb9A*f#K5bD)0(34JySyK=q7}Y`VA@93mSK(4Dtx+4xb?hb%ir5p6@zVWOmy-_ zcPa2`cUFZH-LZ-Y5(d5LJCv?EE1#sXS~E$eS=Wv4-t#m%Ew6O&7aSU=!JsbBSx@J|gw!|GiqE?7?--zQUQZ-Du)yLk8 zY_>^OPcWs@u;71}Fyjl}`?rMu+-Cd&dj7u#>NCFFp8T(%KI0z-*grx2-)a6+onC78 zPe_@N@$V~=|NjZ<1HKJ4CPok)KpF<%djO+mWFlk%u>F_MgiIWSYJh)$j**G^MSL%R z*;oN+pNSQ42e7igI0pdeo&iYq=i&e22LN*Z!wc~8@NYC+gOHt#Q0;HX|KBnG-{SuF zZuw`2{C^$e2ju&&82|4t{%-N#7(a-a<;4N<-)SQjW~TqbP2_;J!jC52 z9L%{~cwc!3<2b?LU36&~#CLN%{!#EL<`S-7if8YaLik`{4lRajj9eem47V1C8?RgL zkD4ueUW0>CI<51oww6`|xqVoIB5V~sIJ*pmr`;D}J>YjD>wulAt%{A$nP`F1#{6)z zjH7ziOoG$d3b`UpgllH3F+T??zY_C_CtkqEhl9syiwHaEeM9i(7%x(3a-+%b*A$Uk zwNahpNpnb94a9)pUCO1=+G z>@pRKu{_#d5l1z$hvaocF3a8&lodgCCo2Ouw8Kw-f7vl#4#zA~s!*28euZs#>>;-F z6!u_o>8Eyw%b-otarW<-c0r)FqI&|TyLEG0r6=@aLlNhDfBNSzUQdsEne-=b^EH@$ zF{V`73^e(Q_S|p|hIZWpNbVV!;!f!dY_6}b4Y84 z854267dhd-6BU3UMJ1!}nuPt?{YtbVmsuX>1LV;>=RoA`NDgh_GmCC$9fj}%nGeBK z+5*{$jn-YUXYTx+pWo#M=%+98pwSk)BVq;jFCQhGRx!tzL&RS0+*#?FXn$U}-1R5S zkty|s(43vGCU5xJ;M$Nve&7xIej8q!yylxPTh1{(sBW{_fg}mWpyWo!0xMt}Ylg^f zIU0KN5h61(wIP)`49*N4+OITK(EG;^3Y52<52>!NNxoce+;NCcyPNnp%y><^EvO9+ z8#a+%GM2(#XpnsPPA;52yq>zvbaUI}J*=xoLVrTetJCwK(CIno1*w_gW(7MJ@!A%| zB;OwNB$bD;EJ-Wx={s$37m`zKF5M@LK)H1TU>AVZ0zHEL+gwN?^N2X6IscbC2TK1?K_|I!+nhteU2O&c!#>mg$azxJ7z;7IRikAs3zKw z=@27`I{BhzKC93SMfae45e8UR9sO%T`Y;iOV}Im17+SLo8e@|w=IOU8!+XD6a2M74H_j^=sUsLe8c`A}6gyIAwc{a60(N`0 zL(Po4I0S#-o$9cf(jMsSr7RHOwLo_tUAIfUUo*_DD{-VWp z!9X9f65?j4%r>55JaAQTuN+n#3Uw9765#qv!8-dOrLJ)!3X@W{TZ3%7YgJAWmrAKS zRTytgJCX{4hKJ%vr7&o|xo}2ng!&3CU)Pdf=zuc+T_dbwdC^G}CY>1)*Ev_$rxvQ$ z=h$85&f8sK+=>fH%ET6Zirs@8c)G4(RIhDZgj@3j7dAL(EiUqP=SvD_k`{?-^wUw3 zD;3L)`;g161F2Y7Dm}`nmbR3-;pr5MZSjyzHF(PnBdL`73+p^qIm%5ksg&prkfu3g zg3+WEX)x#mO@$RN0=K(ZqNqyaT)Guu6|4>7s7il^1oSg0T7Ne5R@rl{&lXfyoghR< zcj`JIgI|kc7VU}a4pScurBW9=XR4t|(t7_3E31w{5G_@=?0u#J$X4?%4(gn-ySTnE zA+a6i< zW8`U{&Q)S6e?fr4ioTrnI(1@zZ#M3}+CM$$p}>)ATOTc-OC8wx!0#Y6mK!;z5bl=> zvjiqc4n1u}#1KApp}0X)8~L4O0Jqa7`k3~;8KpyR$r|I&SsA{ZZHW>WESV7rCth)F zPa^73Ofe>Mk+$_q!s9swX`~Hbi&7_Jaj{4?p6-OCG|dfKN=nT=hkjV7uVr+2uA7>h z&0kL%mtC$NQ&GF=JRi+p)pA*>H7|ERGNV6F_VWx!<{~~vGrO1KvU*N}B_`;GFnSx3m2PrM{UDDo0_kWE$EK9hmM^$s{`welq^)L zR;l&2)1{H#J`OscwQj~sF7%$KhAL8vIApl1jkHL6u(j+4*i|F&dqFm`Fv`>pBzGt^ z#`TCLMf-XfV-E%hTO=Xdj?x+7_rmj@9X$oQt-FglrW}89e%hJ6>Dtv(#)mx+BOH!+ zD0w&7PAI4-K$<_JK74aFL4-x$2X z$wo3xN;Mi8(vQo5jgpMC`)=>jThMrB5tsdt*g*f(pV?ftG;K9)nfCOn?705U|6AHt z?$N_T+EzJ#>B&+p{>+cnueC?+fmV*oc;T&8=k4$~_zN6%4OjbLG+JC{Kbb6mofG!Q z$He>})SYEq9B-cO10fLH-QA^uMuNM$LvV-S5Zv9}-QC@t;1b*k?iO5c=RZ5UJF~O< zxqIK;S6y8^RrN@919i^#cj8i#OtRxignJ5Ty93&j>MC+-+cybDZll{#$5O=&(O7IXZV$r@Ah;=GdD#3>t_9@R$j zintJ?X0*k|u9=GChOrFu`ep3{i7q{c& zYHf1J3x%~I>-A_zZ4Rz{FN?5x) zC0t4)olZ^-A5+cqlVub=W2;xpE(~UM76m3=`tiXMY@8~7mo({GP#rI_mrtt;>=Ttj zjV3CJiy++deoD%%=5;;!u(>_J#2b0cO9t$Iq?h(8fA?_D{|X8YQc8bRzkiR#lwf<5 z((7TM5n)a#&w8IJ7oUzH``J&iCLCFF06Ty*@pTl{S01!gkTi!>nZA{ z%l?bfl>6`Nj=93_xBl}^k&Jop?_S@O=oL}kHtULtb z`zuFKl#Xy#=@^ zWo{$iPrRmpJZ!6`&)?p|@9+P-oH+S=Hf=VTVqxHLFD1Xlc8$s#oAsPSUC#45?q3jc zd)?QzpLgsW#`Xsz5VUx{FLljyx{H1n`wowIhKILQ+u2>+T-;8(h7DtVveahm;NH`1 zZm4A`rDQ1dYK41jVOh4QMvr`!6o7|PuSv5TW-Vn6$_!D(({ykMAyKBH2vWx3j@!1p z<~m7xO+3MqHSHnhLeK7Nr#V7D4hy1$21E0$w`B+`v5Y-QTX|J9W*rU*G4F)@d1$P} z>RDimUg=dh>OT$V!sB1ub9^!kj5pFy%mLt>h57adx@41zF7>F}$$d~miAj`=K23OC zAI4?zpIFAJ=!vzm7cRJ^Qov~zqSW~%bIma$cIG7la|clti_4MR=S9CGPj@jpBp?DK z6-UytJ1OctR~nOZI{nLp&n+SVPoelU0o>Q_)_`I!DU&MP|2jolmUYl$S6Hf@P=)$u zsOr0Glr4JiHUBr{pD#NoRJ=iZR7oV%L<%2{KcA1gPL4m|@9@e;G0{vR!6EF>V96S~ z%>-{k{<4$pUj~X;mwl$jQ*?>kPT$=}HeIk4V?8JT(u__0UD6eq1006b0=_eVYo{K| z(?r*AYKYvv1ryDQ0Kkas0|7p@EKXuKAaBAV6dg}m3z2P@Az`t=8BIhvh@aY*yO&@U zL^M}S-(ltU$?ELw;G56&GCt?1`Pf8hgxxKH>z9i3mlpR#fZ_$Tftk|uR#^g51-fo{ z_BA9v)^Du!6MF|UM+vXiRbnWE($bkLB_=Q)&Rfq3w&%UyW= zb6aK5V=4khu>h+}HUE-JQR)&$NFI)aQ03m8D*!C^FR`Su!n|_HVbsuhbJK(LsB%5&XLO-HS7*pL4$rQU;^xFgOpmQ2p>o z6|REQVXHa*tz_2z51^!wbB>_J1*bAA&;tCT3>v&Re)!zyv$$0#$Raqg(! zGpxfC09iH4P7XWP1MOb~9r~J%kbAQ50`P#vg4C`w* z-+jy+{T|GWbSYgMkU*NLs9ZNTX6$Adzc@=2iS(4^3vqvR{Q>e!e1Bo2IyyGYyhMcV^7Xpb%-yXT*hEsdD zLyBhA+scnRoSSk9aR}`+CR?!pBcnO-JSR#}>5tJ39%ZH+MFSz@s6xyV=1l9?9>jae zei|#Z-V&;ujdpC}P(J;2AD?DIftu^%a9?W*5eF+--Q4yDbfk;5|&FTlRdck7eSCqUoE*Hj7oRI$u6_FaM z+ec~oR?S~X88{;coJ1zA5xgk7by#B3>SyMFI?9!rX|euZhO-<|Mxj(ga!(-2k|XoIt^MHUglLQeCvn}XDzc}l{hsO)8fL0a7xw<$Ipv=(o( z38}a1$|zWos-(@2zg4gs;LGNl%9Ccv7A>6elJ*^0B|%b*CCY?+Iv4g8wb=?Yt9`09 z`P2S~w4dTC>DWQODb^GgQB771v?!;;?h3G0v?yn06C%Mwf!%g0#@{X1(om%zR%AeX?tmIIu$VZj>4h0zHBnspsmM-yAoUs)0 zwd(TQlUTglW|RZ+#|#H{7qBA|d>!bcMJwZPvy zRR5r0Zs-~dRgw#vo9zYFy5xerJD29$souOE39Z+`jq?Febz_< z>sop;^F|9%%G~qZX-V~6U_eo>Q&J8kaBKGP`_C}}?H>&@ScKPyjBQXy=Nr8P>%U?P zyga7Lh#r~(p^W)>%E(5ozSomr4q|4#$%o7n-(j;LZWg8;tpdEjhQEha1SGEfh^g>4 z-NNo^f1$-61Aov4RC&cPTF z+go_dx#40~S_)83Gcrr1_6v4jQ}ESHy6{HR%{;0X4&};i929h61tYk^>0;6tiNrPO zDGcO$;aQKt3Fo^Mh#Efu8)vH5sbeFA1SmZDaxR#aUNll4D%nu=#|nHganz=aevGMH=4k;#`bsK*zC@`kR9hF5~RGlPtSH2gX~s*-Nzk z4)9XyhK~VMZk^$2Qy}w#J$sKOV&;9~#W=m!!y!|={YcYf^;^1Cy;ajhQ+Hy}LFQSs z!$i|E+p5XxrcVD;^6O%ge$(r_C9Cye^Y(7@Znk^WhWLi}$8FJDp?@J){CU{@_b0Od z(<4}Bj(gK|uG8m-X~N?>FeCFb7z>Tz(Ow%}iIXCE zU-<0rq7kAR>lwKDJVrLwarAD7jS2_{N5^D>!TxL!m^lqMw1wSxfyNq4&10u_-=z6! z>mY_V`W^4AeJAqMzH}Hamn$7MVC((XX!cz#Z`|a_yNanV0}u4%IMP_c1dtewG+8O9 zSayH&KajhsRSzHm6tmhZa%d6HK(i3h{;r{+V$@fGi+p1DCQ@4*WBiquCgzldc|bD* zn6b_-AzG=v5q6YBVQq7FqgPNb&H1k6VhhNj1pJ->KRP`KF;J{O!EI8^bq{Z)Bhi!hxDJY%l~WA zgZaOb9?bttdi>Sq?<@bGg{prRh5ifa@!$0A|5MZh03_042C#z22o?^azso})X^4XX zq=ABTA&@5YH{RoqV8j6uj6m<1m_SYcAR-`O1jqs8Bw}M`W8eg`06-f|3~Wq5AQ3wg z8v_%Nm7NF(WM*JyWdjfanV1<^|L`P#G$Ljo;BN=~c>@G6Gq8aUC*ojZ`P)_5K{6G9 z6V#TSjg7knfbN1||TI?VsTqA^>RewSb^bf#@F&Z6Z!4)<4t0#sHG` znEwsE0f9pQ2}J?*;Xl3<|Kp?auZ6k)=F{;1Lf^13F|e}%Kzz>sj=li`{-#rc=o=8> z!^8$!H~;{&=*&#)Aozxroq+=gVEYI726P|)lQ8$M;2UND=;r^Qg*gD|CiutS3uhjn za9p*f%TAT~d0Z*y`dNM_rD>l?KO&-#>AKN8qVS&}C1fIxXvJ?kYN&BN*(d^llZ=I$ zZ*HJmCyiowC(M%iEk4yXe#9s##b~?3m2pHm;rxBA4E#%KhwB*MyZih5tE!XAy8C(O zL56#iyEPEL?=vy}8kP|i0~KAIC&@Dk@e8I82D+N6GUiR4 z&ojX}UhSR|VpBGKQ46GKA2?nRzb_@x3kZZjt%Xik9UbZ{Z@A67@ClXzK4TYsU$L_K zdSWX7V@k-~jq-y>W|)RN<&EJN_b13S+Z%#_JVKve>22;>R_XoUTagqyLt+d}qOJ5o zUyvvKr@O(Pa4}ZhPEirHbOl2KY0&EnoHeo!uq1u&fCZkR{ar@ChmUcYFbl9F(thxwplq9rc!<9HlLCB%kVX!!i9guL<%u8Ud90ZNli4cTJ#Oij$^SDnA`%>R6Xc0Jl{VSc(Lnw=| z`faeE=?-(0Nd%SzwQ$Iel(1Bqm^@4X`h!#e>c`|#kgt4pOUGyQ7cZ_#e@gaGnAP@83W3ikQd}YPVvd)(hvK3;Q@$;*Va&7d^{7jk|dk_z?E)0uH1 z7v^G5>mXd$=86peT0ei>g_^|VX7qR|G&s2jKEC?H3tMclqM5HKUSA_>r$D#2e!*sj+Q=@I!?X&g~Xc!SOb zxn_uay3poo(GNF+34|?YFd9Ct(;!8-*meJ4Ru!OAa7MJ{9^&b%L#~v|Kc#$3 z^%}FQwoD|Gx}_GhkQilcbZEPTNi0;{Ip_;wVJWh*vq6-!c3#qq zEp0FFhxFRm+~NNf=M>xib-HcZecaDGYD2i+)<($T*PH}BOfTZFQjoMBdhYbLkWFwc z`VCu4@~qY`9q=xGe{|((*04AECZGi%=|n-+EQBg*6uALfYSAH|6K0wr zM6-B;89~O{VCh5TAz}V#DheF851(k3!oj7WnZPcn=wjaLoe@QI{K0!*k;lmd69|Os zQ3D9_1FrKAJxe3>oB9<~!R1_pX=ahiAq$vy=EWdUtm8)MwkA=>QiM|-K~2s>6;p%k z8JNfa5E#G>UHp~Rt%0~TE6E&NR> z6HX1MVJ^RNMO0(d&W`!p2Pd!#i3km}h`?Oa4s{K`E`ls)c zFDdR8-kCYpiRI;SI^s=|4<^SD5oFA_I$Lacc>dGN7h=3brXoyw2$ymu3rKk~mUHxd zef}%(CSI&oIAZ}iIq(;4!Dz2Ja0d(YU5T7d+wUKmzt1s@cOiCUKtAaTE>Gw74t^FN{_?$ zjNo+RYumkAf-1W2F|?75w&VZ;Yl@3sVfj<`A~OV4Ol_gGOaxokkpv9U?L!k=+!=vf zV|zHR-bwq99c)-v~o%d|SMr#7>Qa!5l6U6nv$l7TNku z{k)XMftvQ9{gO@X8?aStf3AJWia}Y6uiN_b&icYc`}f@84(7#;U*cknb<;l?NHT=SyPn}2<(W_>f>~c8f=ma~<`9AdK2VUIxNgi(M zijN>etLlQ!98tL;3mO44g0H&e-{xSB&n~i9rKWP7XQpPljR#28IZ#vCO!$6hNfT#8 z)`2ZkFFPffn!ZoCM!bF{pudRCj`z;1p*>go8u+_fvawF5Rp_yf24XU`tX;*XEcS~) zr>3XqYiTsjWQh0u8hxgkXJ_=B_g3rsr0c~EcJ zx!2kE$r|zxyA;heUr}y~xi&vYzM@;yI z5>~LZ&r(O7!CsD23-syi>y38(TTf1wixoPJ_IiWYZ(YVwg;H*q_l}I3OY_S!);5+_ zwLnHQi*G5qHkIk@%}qsavc`j_8hgftK znCTaBu>5L)%O6VBGHWZ!s%rRcST%1uW{m9swSl{JjhtFyxD`I&qP^<;3aS&y6Q$KG zXkXF;MSbQxiYc1p@Gavd8ECqTCRL1r($qTDOQKawy{cP{8dBL?D$z%|IuCpf=VO@LYxLtQNS3B z^*2W$($h&W{V6`!^_|BC9|q2m zfg10p+4We)qu#KdrJpbSvbs|JGIbgrfK?~{lZoVyq=sveiRnP7W?wmIAI$@tG;R6` z6Dk~5kx3E*bhe+kpAZ!sPmxRv><~u5T5EY3&~2t1N*_CFlfEXH()ubi#l7UJh^DPS-Ipc(d{fL<00TXZz-JHdsMfinVu__t8xgJ^|?oI!^G?(b-$y4 z{XF+_-+Vj(c{59=m?I65vqe$lLXEONj7LUQ)P*Y7k1~;63&>I#6f00rQpnyswl?f-m36smMfe18 z$-owe)dNG$x^K(C9@uUqkM*rFc547-^&>y^2RJ8sy)mDfl4VW{JEjOgq=G#?n>Q4B zfb!Rm1*PiD_=|dlxyu%2){s;#(F!)UBU|QX&B!|>`pt?Na^wSEE=w8nOc=;eKihX} zz#CRiJCO4l!#OIcJo`vLuH_zo!TiaU*)bdFJGex02zMyMu%IkRaH(OiZ}nZCB-gZN zIj~lwr-}&QPeykbw{ki#4BZIY&);lD(7IB#MpTW|C7n+7WR4R)RW?L363G@@>154B z9Rm(WC{{qe5uPsfb8f&~g^&1YNd!5*e#a%C)oolT@_NZGZp&slvG; z!r+lpGk2ONSR_cA%3bC6(EB-zq%VFj$;X9WPsNRSWh>9(nC$lRj?}RHYf0aL{s-hf z1`UkJ{FgEjFOj^8%PVBwQT1dJ474)?AE;Ul*&-He2zkh&K|n)K6$cpAM{55$66pes zGN#(^`m)>hW<{8`4$>6e`eq;gJ-G z?VBf&>mnbw;5!r$?BI$Jb&PFQ()E#%_nTA_EK0HPLsYg&2+)1uB|f1=d=1GC9f9|? zykgNtQ~n|OvV+zK<3;02^;jx|mL$|b*(<(t^3iu=d1Z})VUEa{RV7%b z9wp7<*vM^&CM9B|v5!up)N#cIbWDqgRp61PP z04VWtc(|d!SGQtK~l%ufxCjPAmg#}cBOs!HEx?lq%H)PQ z$BfyG|Eq={w@eSsT&9MQx^>)_VR0xLwy`7S=pk>Ew`}2Izkpp7jm%A`mIXgv{>3i7 zwY&%3IkgW`ns@l_C^@?bWgf|2vUeGctQ1i`ra(MtKgXdt1UU9dF@b}^6WCc3hIM#x zP~0Z+4aN2r7+M-w@7$-;+8RHQ$GL@8kTJl?rH+U*@E~XMM=rTkYe+gSqMTWyOE)i1NG1B-sHOxE9RvgvkC~uu$J9hZ2YxLJGx|~UaSI3u`jcRA0*UdA zMGs!j;H2(0Rdq=X&fQvAeNbMcmjqEQa#nBJEO*3wx>vNnQ3I)ZZU~l1eNZEQE__^% zg`;>W+V(<-bF56@vyoU)TA5m`_QoOPNzCH~5O>%mM6tglo{$Me11_J!i@X5#v13fn z%qQow)GJdOy1vsFeF>*)BX(f3Y)8B(cSIbixEH^DYVBJra*f(=$OmDh{(5-#Nzs_d zS&nshLr1j_+KTp3CqByY*M7X$y?nm}Ln$dh$f0?m{vyH?D46P5LRh7?r3s^kdh~Is)7HwT z9JdPH_V$G*W85jg2(E3?!+&8+w%-ByE3>0#L#Dydm^4S*q*qwgn2w(*ndVf+y@jQ4 zr!NL9{3O8(~&SJuE(;9WB5JKO6~Nos2t!}Q{`y$gfssTt?IZ(phlT0eJaR*y|C zlsMlLX|9Jtm53Y?2MgIvH&ug3UightN!FL(zML~wPlWv&ny>oHO_N9=cxBPe}Qec8$_Ni zd)=4dofk&Dntk*hAb!<2h%Wxqfa^!*PWOpVN-~@p_t)C@#H$)iSks?_;hnl2Z!_E* zoNpIgWbM@V8z8RL?B!7NDZ94R8m&k4OtWKY3qH(?QqoiI26?Q z_>mI%t*e$(lr0rL0VRYA{?`575f-NC(jC(7;~baeLK~^vOu^SI#uVFSV1WQ+K`Y)7 ztpmh}2Q<2%sVLDP3Xbv$8h&m`{HJ3-C8eKE=1NqkgcFL=56Z!oThnqF6Wv~Sv6i>Z z)#JRi-}^rrvqYV*z3~&@&KQG29&B78)ZT8@T8@{C*P=bIYoGgHpY2|%t9KsqDcATu z%Ibp25`xKkD8z^qs+Ot~4*7ccfH_D?Dq36{;Z|odlk@l+?_G0bNb>xYRCr2g$(9*x zw@e*1Uoi0J&Ef*0QpRX7lJmjDcKVVigosrB9Kmy=Apu7WTH{vjap`RHIfIUSYv+@E@iT)a3npLp;o9T5wiwKH zm=esxr|3KQubvj5@?k=UY`$>RIb6_o7~a^Z$hnKp17xFkV7zf;jj0l)ZR64;@;T^a zKOtI&3O}LRf%8#h$@wd`4dYxU$?nQ@tF`98%}9B&f2G~1D1EDWUOx%fUB2$QDwK1~ zT;;MnS;?Sw;M=$wt;TLY(~D1n?{YD^{mm0*LL zirF&fTM!x2Y}Vi3=jYEEfTrL!^sD-En?(hd(l+hdlVMhD5JL}+`RCD*@@OyO6Z_kh z%VxAGnzlB_!?(q;YSneCku*^rF8hmt(AA?tt0~U=?voTVi|iQQi}AAfWT6J=xmOv| z%@U!WbG8rc06pg!Gv?Sd+4LAByzy&=E(Bdw3j6$z*8DbGC`yigWrBXve)A(rKY%~P z0C&xx&Xop_JG{*1gy$_Qk%S$+SVNMD6}KGdAWbNh8R>Se9p9f#j* zeRmO^h!5kFdIED;-VeCM;jy5|trjdbrO4*&TtY%l@^VX>*E=GYEtnK@By}jLyV%G+ zdar$XkuUx(k=3No5=!$yMp5Bk2}C5~*b8MOx(>n=;LQt;M(EB;K(lle*R8e|f zzQ1#VSHEaQ)U9xIwWi0)L@42)nOVSzZ8kX;1u-G;;VOSfMm)I}Rz+W@lv?2@tME>m zFaRg7t+%0zL&;`gd1|5NIz&VaG`$NOuPc)(a&SiN`Lfzxhu_|phn7}&9GCsi`8w;H z=hW7B%ekWJ`D84|v~Nc5JPE5BcAIT7VsY>qCw|M;)8!bSb9eN~M$5*_ zn)Py_SXP-Go5h~yNmo;6zmwzkhW0a*m} z&XZ*!?HBGgDh>ako0#WtHB3e?cqks> zxXAGHAJ!d*UKiu$+`o)7LQmv`>WEiJ<3F;HbyN9sKG7yx@DYyY-Ys0geMCk3tREJv zF{+ohJt|hHk8J{zX~W5P-UF}eS@S$G$QP^acAI$~jHiKg$~Zx2o?_?nyZ;`!^VY2^ z=lxR$J@ie{Ois_h15;9HXaPQN1go)t4NC#hMPpamHpPs=H?$17uRn>##T0J3zdcP5 zoOHeIE-$Kn30kovT$cCFVKKbrN^kS}im7yvwrba5zHv2(n|;(ndx2ADLF$OFfcm?s zVUe+%%^~nN`&^|*4I9IxMObQAS*`2i>5?$+V=UX_Cw!q7CD{d5P8pV+I|dCdIt$UV zj#(=Mk~NCd#@Lskd(LTc`lZl)d!IP_2Ul}NDGFnL%^DNx8cXAwA{zpyO?&T^w|2zu zoom$Xj_!BM=_fS=d8d!7D%~%cug3^a*hlxt;|e_|Vl4`aUNNnTB^_}N~zLUY6+kc;iljNo_r$WaA(;_ zgK;+5Z-Xv99p z!M02ol#%awZf)2Zo;XU24w-EvXGQH*H0YShk6;pHR~kMxd1h)mPxbOP>ufgU?srM{ zpTf56EjN2L=`RNo8WtUgCW~%oWp)vDno0c*4W2Ix3;v$IV`&gC#w%X}3B`rceFToc z*t5bK4i6C>AyAvtqqqB6k<$?j@1Xkoa7qkPpa-2VC40S@(Y5k6`IpLsylZ=%@X%(6 z$RY`jgxsYT%)8F#;7QA1=ay}Bu=>k(T-k(doUWT2SGH;GgjTCO&-iEdb4G%@)1zwl zIC#9)84$ad7Tx`Da>3UPom7uU)*N06He$~3{1KH{oX27>(2#oEc}-bUuyhiYkbeDP zuy$GN=dIGBv6X9EF7svOM~KxhoxQEw$BVq#S$JEsrqGm|WziRI=XLtg^Bg|-OyUk=Clm{gJxZSCGt|tB-<}>H?8ewA6N0|JS|EOdJ1^jyy^3;kT!g!1lJ{ zg&%>JjnHFXnDY3#@rAv!@OhbRD+EupPVzOnO@WVt&JkQOy-bT_3E`vD!cw*k(Srth zEG(!f@-E`y3O;MG5ier-qGc_`?${XceFCht!Emz=JlgUR0C57k^VuCTROGue=?t`U z*AYi>QD-Lkp$nbofmUvFO$7xd=h@ahz^o$pm7gvpMVBizxoaDF7xzwUuIZY0OXET7 zeqOI@^1c-<*Yoy5CltF4N6jq0i{t&aVcOPpLTOXLVf+|Ib`7)Sqx5^j{3psRm7#xkbM9wpt4T>q3G(DQoz?mTopvk#Sy#Q^X=lP4a{O@DA8FwzuMxx$-kB2pV?RMq z{qVFMe=p#{8etbk^g%($H*ekWavn!e7o}i53^27eS24A^ zybH%u17?iUsIFwaA=I6Q^`NK0F1+9%6jb+4U?&R<236qwO4L3O6BG26e%;N;BXQvL z@JejQ0o}A#T!Qj&~sRV&|>f|PFY;l-J ztE+*$J&3EH?$Cm_>4}kJ0kzWnJ_^uTh6!AK8tSb5$_5ye6-_HKwOh2KN^}ttY(QZ& zm(MlyuwCzpOR zxc22!Rs?p;tPm|oI{ zqAQ5Zz$sl+^yfP+Qbd+kMmd{I3Xul793m4B1uy&Ihq)bWLJhrvOnLyR2Iyk}(U4M+ zp@Ip87hTaxH!Wl`-sY2-FK>k@+Y-~O%r>BPLrn!7%i3WTu#B92cRcP2f zCC9F-#NF#Dc+lq5dU+8K;koY)hfsCXe(GhOlGb*xcFz-Wj(cdX#rxuIr^a-a_4#HT zh<(nzaH&7J&3%$*3Dx*xEAT}A&}8wKvxA>l zB8a8WN_m}nDEmnX2s2^hhW^=07RkogWwPhnTa(~5&cQBaT zcQ>&%SGVoJ7F%h;{2|sfC~My^Suz0-KDcMwY~%wa#2ZP^zT}0m`r8%xt81qmz*-bm zd~QIM;P?#>^Yg(!EavO>Db6kt*rOK5d@4-^+NS=iLhtXt&i67R9~bfOyz)%q5o)#*-ZEOxfI|HK&`*Ex2mO zAGDUnOzO_U&%H^Fh*OP(OFXu9Nf4Qs^;&iNt!xU_QM;MkYnL~&WwPU1M-KdAF2U5M zv4}y`r3C{jOF4zxdc6*TJ`QW0ddLXSa+mSuD1El#&F!Hh_%jF9vJx8cVz1{5=sj4_ z&-?X0cHqCbsnQBxQAm1~DIQ7-ZpEY_&4)Ey#WhE`!aod0C=px2$4H_jFrnT-H6qw6 zrmo55D{Y=ScGn(qT9wE$7{0RhcCoK`Rn9<-Xo%t#VOu+Ui@&a=@Brz#xp`<;nNSd= z6QymkCW4LCO=NSbqIQeeRIi7^lFa9feSeUp+?My`r=7|s(&b@S$d{-fV5fH0u!Vo8 zpeR=t|C()QqZ9SpR;Sw?ccZ<}bLdr^Fj3fi&HN!UmM^j+lFunP?p#Ozx@+^rlyPor52m8H3whK-AayFW!E z6B8t*rt@^>CuKKGNoqgcl^3;N&yTvoI4Md!qW`Mo9{0Jm@z^mfIM{p(TH&-0d(tb&UP+Y8E~W0!j%MoGGby!TQ+8=a^rfbTHUi_s=~7Yq z5#;ro+#qKCH+edvJNzjH7Hg)^wF6-wVWgj3TI~0d=^ResCH25==y)%sl~S`o_V?=# zS^JF*hi%-1Nce_0o;LjuCw_WD@Dh-&TpXb&dE$C#A}ZeP&+2MN2jRRP1ccU_>x~b8GTYL97^tzv5Pfm2?xt*6i=;rM#@q9?<;d;A03M3k1Z3{X! z-1LtSbWZiVVdL33h1qo5%YHvCCV<+EnGaI(DRQgdKt79wqQ1RNsb4gMB# zjMSsm=n}4rf}4P%=05uS0Q;p*dS+X%wv+3;jA>NzS|X>R;YOHmA}!mu!*la0n)9iM zsg>TY&W_3^E!tV9N$o}{LLF3OtLDi{I;#qrG^>3F)L}jtp*=@p3v?`0 z;1(?0tEzJ0Lz(Dw;)a5sio*o%c7!6XKko3pSaGYwW9U3tsLIHwdQ8Acxqk;ek!zAM zhrVs1#)YDs$kdtpVr(Jfv>ye$TQ9u3D`w}AogYCfq#xug#6~sUC6`ULBpQi=+N zwrHhZbuQEJXC;M@K}rVhm`pO3C%6GAHXLT_?EHOdua89B;31e&r$1);uJK67C|q>j zH(b%1_DOLMY^YM0Of8I$z_cba9s*%CzgS>CDYF3=#?x1absQQd&zXc7D|K4v-4$jU zT$5s!7MNFk-0k^A%_Z&p8@X380`FCJ(Z^?kr!r&tV0W|O>{NF=K0ZPi^(%gaa7;9_vm1fI0_bWq7>YhSZ5vjT}%w6b(xCR@4sG}Pol&L#G1 z^}+0YAg@#F{ENbQ&8i#9fl?5EP`B#X=$d!XH`6fTeZk~K%y!W%Y z@l%WF*IxcFsOT`EcsNy&9(dc6*0TZHl%#n|2<}{^}pOITvuIe-` zSRA>4f&QGEZ+0RIS?XvWq_Is1URyT>o?_txVA(iU2rN!CQPHyi@t3@hbe?@Fuue@F z;gdMnmWGHZGH8RFpKVwNl@pC<7HsNEu3QnsNP&qwt&y4t=x1~hnv9qAar|$XPNq@) z|HAYBe_Lsa<)2EsXe*9c`!gYR{6^<33jXX*OpGEZ3BvUbg$iFk7%);R0+NWK-n#A> zBnmY9%2U^up-yTlq7u(3Fuaxo7MN-&-z^^c^djnhn~1* zY)}6nL;kUy{{bK5nnTud*3>5kzz|;HH8p%5h57!Tr5( z(<7KrNxS#5&RU(hk9`Hi)dOsYw8i@S&9I_;%dbY-UCZ>_Gj$I8(C~Dy8FTz|G<)dj zu*GpEgR;FZ|0cpri)6)K_!%|NGvLtWj%uHvRm+8}ZhVoOr*PKu#l4w?!4mf`L z=l6sA7xkzPjgvdSXfVuewHb4l4onuT>g!EH>Vx9e|GFwHf9&S}%Jl#5=KVi*=YNQt z5c($)LCM(4{C^cY0dmFvbA>9FKPLG9T>Ss9Hvg(${{$m|tml6Y{7;D(|9$uVeMtWw zMo)lT?En^#OPdX3fd{a2{#ywuAO|R)f*lkz@h4G&4MZONnGGO28>k6@^Y4Ka%($%=I{ z$?;@^dxtoj_yO~0pv1ex>_DX9H}=~_ic)$R@B2yd&(c3{ET5co?mNyo53=0PTb)0P zeU|tkMx^K|V}<|D`c6jtf+Bx%td;f(>_53f?yH30t=`zwx$RYYzeBp*1grjb$H;)+ zbX&mx_M=DWtqEwQon58z@rCI!YPjk$re^vERZtqe2T|+}QL5YmrW?x8)W>^;Yp(g^ zz#;3{=Ode-;?!;6JwmKBiI6w(LsVC0up5uRdo^lYf=tL`|C?Eh*vm|{oS!%R%e5C$ zoVU##Soa4HulK57{^;J88lN?e^V=MlP#84oAAn2mQkULsv>vv@H?=#imrWm%zXv;u zgbQU7q8bc7JR}PFy9YNGOHe<|d7D#V;C}(wUAPC3;X%Bc_aUR!B6CSlsLGI*1`JKg z+S@t+olaJIQ2B|sjxhHw$g(LljBo*{SscR#g89#9b34<*jkQwk{8k%#g5InBsL6Up z=ag2c=6BLXcKeO-3evk1_3mElZS+oi-SNV>hA+Ek>|Ro<-fj1UjQJPMXQ@qKIT$W> zW9(d|Jys@NQ_*-~XJm@HbZ!3PuQTUZvEPG&ol!$2yuW{yfEyaeL zGxJ50b762^fi3g3HR09U;$~02IV6DH{4^i&l?v7RgSVp1BW^*$dmp|6>xA%ediqJM zuH~>X&s~$m8*2jJL_!tNJJSR*9LnZqT+cy5%l9UKqK`X$%Mu+r{&Q#?*!WLtX5pX_ zV~k#)^Yp!9+uc-l>*mAwxA(_td*-L^woT#-TedaJNO$&jF}okF95x2dukfnNboOv>V0N{jXzaaY8n@)yKt`HU$XoW&|h_k7y&Y* z)76&wXP7;YFfOFK8tSh!oU#NY(L&Dz13P4=-l5!bQ87>>=GR#Mx>ixFAF#afwTwr)oD4UIO{4stn#Y!_jkZM@8h{QK45 zG+z(dU95EkW8b!PsejA!mQ2D;oj6?n4}*QRgyo;~443Alw1|y_Fz3}~822h>+qQ!# zEzK`MShR}+JbQ-Q)66n>U&}(<$Jz$8jni5jMp9Y~Ln*8o=LdYZd274XQJ=#M4Q%Wx zvFK+8vf^+J3JNq%b=Js(Ff9#AN;K9~St-7wn{O}V+1rhg$ehxhqHw_g0qRSXkR96F zCKnoZ@oK26m=*@Behf3+deYytb3$=pMF*3>Wxk2F6YHWby0hA4YN4jDmLu%E~soS*;C_@4yJQ#HnT0D^a@2(%`YnF3CDM{)i#E~ z7Mz7~cTto489M~fSuPLyaa!{QSyxaxy}88AG*}0Z$C17*dTwOujma*dizn;hNxo=T zZt!JqdnRiEd8e7%>m#3w ziO|~P$k~4RyGH-Lt?9mX_%3}2WF2MjA@wm1&0TbDb3e*tTplB^m(5aD7UBP}cOBqW z6kS^d3sF%~tdvky%FXQsBTAEw2nf;*DG*8mNhpG17bzkgDWW2v(h(65M3fH&6hvuO zP!v%F1VurL{O_5a-JN@PH`z^gFZlfWeVSzN-PyBq&YU@O%6m38U%r0&Q{De+vMt5^ zNTkNe&f~^RNm=rMZ~xJ^CU#!BsmaHaT}LulgMLX7|_crSIL8 zcJ$1Xfjd8T|5NhNoCiytZ0u_L-od8J-}!d<9~qk~4j=A$zudIu^FO&gseiRA2lm@I z_4E0k_#<6ge7`UG`R>1r%Q@~n&}zo|sa?BlX7x8)j50xv=7lt6n;_>WlgdkDN~ZI%(jEuC-1a%)Yn$ne{(B`BKxpLqDqd zZG~gcpFa4(XCsr6ZaXpW^xq%Ve&kTc>3ypW{pqbo^J*SUU9^9O@6jiEH(o#J;#C_< z{cy;A=uGVoS5<;a3y5!ElubI7P-rh2}s(0Yi_l|#c$8Xu?R}cE}O!kU#`+o~pIQHH@$FFU0 z`tsx79)EG(wRe?1y}$ajk)T}b;g$a|pHy@Rr@yQh5 zx>9G{y?)8ODf#lAYo<>O^tt-8^*y)V`of&M&Mpnzb@S=N#rg~@_D8EvN`w}zEVcf- zCG(H0nf>sWkMC|iq}u2bXU5+(?ezK`jSmeeXdHvJ#%M&`r#9u#=l>+)}y!Q zKIVGwbj5N@`&K{odiK)&N9XvyUi4Dgp-Yzhy?Jfl-=28CY_aY)?^(6;)UwUbHShY( z)|Cr--0T1S?<>FA)Or7|RlhG>_3niKgt32|^@w2CAAKCfwd*O$EpWN>4td+;IKHS>zoB7?> zd@%dHvbVfb`|t0Ue%fs4k)2oH+I&s!@53&g^-XGS?wXVTYu)arjM`%+`rht;u-&Gk z19vpq^~ItVFP)w|x$aXZZhmRd>5=>ItvzV(<3AkV6B>LFfKbOrm#H=A!Lw_=e|O29 z^`2Zc@X$9)9(nn_MWL^*{iWovxBK_`_VX{VxuW;(?Yn>4^Tp?@Q_j3I=fh`~{n`KG znd@e>+_3)ILpyT%Z(sBJnExFbe!;ajl+KwuyTdZ?%&!hkT-@N2PR$oQ{?*N|eOx+k zlWWIo35PqJd}hdm4cAq=tn|-MuW9+&kCUeb2Na*xq00YWc=@ewpZVqVh|C!mzVUGX zj(0Ek8ijUm$arYF@8!{tReO5ylf5c5AGCZ^xwGN+ z)yi-GeoVCnl^ZWxvG4Gt$M&{bIp(1M$j%EYe)#l@Bbp9q{Qh?<{u*3z;-t=7*N>mO z;*%G@y773w*G`wc@P$^hTlaaq-JsEnN`C*Hr~K-*E9$o?|LX4(nhd{g>}_?YhClhF z`s(L4-to~R^~X3Ip_JEBl>lDEs|HST+hqOlq*wb|A{%XF5cR^ zR-ZPLUG7{GP45uNf2= ze)nCc>dqX|Wn@CHA5LGg=;7)MLYKIQEbEu`Waz2wb6(%rxq5{K_rG-4-RbpO{Fwaa zs*L+8YEER6<`M3RRonO5{p0A|C#H35-nLTKq{=&7 z4d-pIzq04l+^beL-2cFBA60AjMyE;T{_L=_?WS@qE9Qi}TX&WEIrpzi)@@yI^2f#1 zHr&5u#ocokcX=~%#T&sE!9kw4tN!@l(&e+S9Xa8WdaWkheEZ>RlfQ5D!rp*u{*d(# zZVUw8zv<4NRT}*HbfpT7wqG*E-L~Sh%W@t#P-lXtQ~fPT+g=@T>7i{quW31M@Q>wg zy5_IHC%B(EG@)Xh*Gi3A{OqfDb*eNnVe|62t_pGds;ov|OceBg#wbG#+LE&l0SRr)VK z9-MgF8=Y=x_D5E&GX39bkZ|$rmY21eUv6^iR-1dw-tBJg>M)?=v7>Lj{MV}`st-L@ zCGWz>{nZCNw!3ee0k3qJm-pF$&t9vYaAfp}V%7Rp8!`X&GM(~v)w%J&opaZ3yZe^p zdR-!A)>m#dq*Zv+$(`?azP{|-&F!nNdgAKuzpXLpvNCfUgwE8zF74HKO3&MTutn?7 zOJ}ZpV(zli7q>f7Klt?GnvF`n(V|=HviDTomgsL;q~Jy}onnf2tn%=fFKR4>s<0?-L!Dt@M00_k!|y zZ%-__zip`tp4m3I{I$95%3tu{3*)XRc}t@WcNZTx;km|pN>=GmyI;%8K0elebgx|< zT2`v(edNhHF`YQR<()YEiz|F0bmBOKP8^pm8nt2NsF6QiQFdSB)cbG#)pelFsV8@r zW1TokRjXEQU|OX+`s8&BY;aXSaN{%2-(Tg8p-I7Of^Ux>+~$@)58SV|jy8w0KINsuqtG1#O#|Y}gk%>+m zcf7p+nU78!KK|9=uh5Aj^TXaB_MTf}RKs~=Kl93obr*iQ z>(A{iif_9xyUV}>tpz@~N-+y8D)h)|DQt#?FUR|_g zT&d^opPJWjM`-)6xl{Yz(RxPPdqRUB>QHI@-cF^qtbJnJ6(h@Se7x`dZw?y#UA4Zm zy<5=I{jn(tM-De>(0KaXvu~Y#^x8+uK2_G$xaG?6FPD4&;RhFv|82{XZyPtyNK2hG z{S(; zooumw!Q`5mul`nc``hSnlsRkntUHEpdL=NV)3N@aZ}s%@e{|`)AJ#d3*^A$vn)1%6 zcgOi3%WWGNw(a`hrVHP>zj2$deoAT3;{C_FCzi>eJ{)O3)Y#GF-j7Zc8&kH_@^SOG zKl)7C4|f$C^4NDJ=jXYu+WTI&PD7GzeSLDZa??=p*kD|l%m;68Rcok!`?WPzUvh7T z|KQ&1pRdrMVc&~Jwx0az?pu#G8DGB6%a5l0mGIh&|Lkji=D|A;pGoaK{I7-+Z@%@+ z?{#i?ZhiQdaaVo6qGio_T~Rk@)wsJJ+SBv;a6jMk z*PrUpzgYEz$G%(Fpkc3!FJ4^VS8l^`$HCh3KJ4eqJoDV0)h@44z3J6otZb6BU}&Eq zPp$p+v)U9-JiR9$mk7MmM=c~oqatz^l#YqsjP`DJAG5_rfNr%hF0FO z;D@dY+P}GNd-|}Haua9d%zWzSMiZ{Nzy7T=FTZc!?IWL^F}&2h!?w2m=jUG@{(b1q z$v<>0Kkd*9qy9JLy;i@EAN$h5yDuKUtoZOrduq1+qQghGrgqwO`t^rbO}eM?(_j1l zeEEhQZ$5fKkGbQI=uEVTyp%7zRWJ~PW74U4cID;Qy!&grW1bR=uNyhP+t{_;E^Pek zpSNFn>qUF#eLv{A;!DPdOOAQzrH_6&JZ0?QCY=||*j%eoIOgdd>YU)-Av5o6~2izFubGmPIQX)jNCo+sW%rth;y5o^OUu8TQ-Re%n4;cJ%HE zzaQB)FjPK!&EUU^KljR{x`V(`E_64cE=%KaKpTeVIUV@$$#&_iS4t@V0k#xLiOG)&u@a`m&L?nUx6Z$8Xo(tIpBVjN9rx&U69>OF`pMdX2mhK~_e}W8Bg58Ruy}T} zaleEUf4IW`*7Oo79yG4;yc%m)l^%A*omaT4 z&aXM6bNQO9)=r;y^^5hVH#^qAUA=7;PycCMFWt6t;fkl;A6I4PhRsz*-Fl>A;N)XAgb&)L(xc{`#e}e{b$u?!8mH zK3%t{_CLSuTDNK-%7=#SJMd$z&BvEtRklj0g>y@0&dF@wt7nIXQx`lrYvTNl&-s@m z27@ovdmy7*^$NACBmr;rN;21Ae(|{ecIb9#Xyc!a@H$eaGRdH`VOdHvOXy z79{t)a_RKaOFp@&)D6reNb(0?-4(atg`ce%{m^r*gtyI zvSCMmyYGX)UhUbV`>|$Fg_FMrF2A%&*GmHFeV+gH>k3Q93@`uiAH5SBR=IWZ zlV>jVZO>_NsB#}qvuT5CuULG|;~(ui@Z?YX8s*gKl{;h3&S`zt-qW@0j$+3nYt}s6 zXw-(ych-Ak_we#5SG{n`{R7vZZP(_h+Dn_&y!e`h z3xBTG=YwZkWwj~Or`WV#rlcJhT;&ztoxTs+J%8xbiDxovPy1!oiq~yVqTAIswEbYqsoIMgC+=TRzx-0~ z?XN6dKPKUL*{!SRz4Z33UacC;?lS(JK|9Wl+cn?+XzI_a-di~P>os?tOjx+|-51|$ zHLvE9qZ599dg-k*Ur>rf$`5ogA2S>dUVy)wsCyM}L%QKlanb2lk(;>|5OA;z@7! z=(h8MSFd;7@a+1%C8r)nbGc4w!@Jh`a{HF2%7@0UNe%+&jM1>)*AXcOvus z2j8Fa##0^Icly5f9X6_oW`o=vK7q0F->hl5pJx_MK_`4Qs zzF6^Y*SD5FKDOtgOYZyW;8*3Bu6$|by(z(juJ;XC^wyFxua&L%&G3OU?&>>W)Xd^F z8&z3zQTC9l_mmm8{DwiNrro>vof>DhjvKb@g*n~kR9V`i>+RRKE1iAyoY&jbuKsnC zYmPqt<&H{?)3-Ek^7-;gyM~WhxnkEHqn6ZtqwO_Yzj^-p>)T!R@jYwjAJ}~Lu@5#h z8M*e@!ax7GJkYY(W2+vRxpHi3=RK=Cr{3V5bE?a!D?V*ie0}5kbC(^fcj-qb*Vd@K zd|)ti$LG~otR8;yhVi$0LThI%A6%;Xh~u-?d|P8`osP$*^l0^bo4Z%v+hKaiDGT2k zdgG|F53UG*9$xy)h^33_4;VD{{&rb=uHLiS^V28KRxGvl#KXV34-I&1Ql*b>XkOCy z_w-q7@BjVKm*YzRSZ~FW=il4+<&AH>vZdM3tiJEx*n93fkF-8@p!qNDx|eCPxW-R= zlY90)oH=z+?N7dZX+ot#Q^rott~Pg1)jO`*dvI2t?JZxZc>UkC`p=2HaPh>4dC^f3%BYhVIK1}Lc zsq3|O)lMa_|{{63IcP%ZSUh%=&n>Jq3`l98P_V@eo#g1pD zUp4KLEgeo~ReYpM>#={7S^d!3%JbfPYTb|@PWE+}iMM zZOi}IbZYTm?p*Rux%GFQ&N%T|+Or+T{rb&}l83rAyUX3{g$F9RM}M}dLyuZ#hIX0! z{u?7po%kTP*w0(8S@zccU-#@8`TCUWlOO*3xc|%}O=muI(>s;Z_FXh$aG4jrI@5A^ zuV38@Mr_Tj+4SN{wdW1G;oE;kx=R=D*2g<%P4!pPyM*R=|9-W2)e+4`*8T0GQR#1< zz9?yK`e(IjKRs*Y_}9J|c-bufM+f))U2f05TPu$F^H_(neYdy*StDEzcphw7f7GB4 zPwc*T>E^N5eq5^D@Y!!wdGE1ZRYxzV`OQOpyjN`c{N(Lh{`|7pnbPkcEd9@_9w!rb z&e}breVg{~PES2jdFK9%wXZ+_#`*yx0t5d@j_m66)y$)B2FpJE%ZTgyfAUP#)|dXa zvB}79f1LgKvC|K3O)q`(`$KwsbK%hT7x&D4YHh1x+sDu9cIB+pHrc}mEm^X1<}IIJ z-KN{SQAc<;}0}T>D38dgmE) z`o11$aBuM!KfUMG%U+*;!@GZ9x#q!Br@zf>xbKO*JwMz0-jUmyo_Jzc=NXUw`uOVg z{g*fSY+vO!9$&X?T$vW*Mqk+C<%jNU{YaPIV<)VrapN~R4_^68>Dj05*xxJZ%AFH; zS07&D$O><8Uf|0|hF55MPkG_!u^vsjmOXhv!lm^eN_^m8 zVzH)&tE_2xcIbgin@zqdqrwZf*E>|JO!oRRJ4^QXc4+5e#~*z$ZO#jIwqAGeg2l&v zs(07wTE_;ipMH7SMdi{)*L&^jCZ8{B@xMd67H@v_e;0lF@{-}7UA5-!w6lY2HFi&b z`8NOWY5%-lY<8PA%h%;CzhdrfRWJT~X!E=o4bI+@IP2c>I(8}ncFJi665?RXlN>E4)i_Nn7B_!2PACQ@v-l}2U#MImb zq>v=a|K_Gi31bdiB0ft&xDSh@$j^S`x12M*Ww2z0$ef@5|SW_ zMo2>4HVJ-Yuy`VIlYfQRWzY?FpG4B$E@dcuiqG7>r_2mG}YLw?{|hQo=;K@VU# zQ-cAoJD3p!FsI*#pXnh0PSSrvzS^A=+cZgN&?Z6i*7E$&Pnx6r{-#-qA`U4#;Q%_y zsl<7RxMZKln+_r(?BQOJ0^rS{59CCMtlEifdYYsK?*gW~#2*ro;uZe6OdV2QfGvp( zn2W9hAdF3 z!zBys6NtCYKH+A&*cUYrw-bmLg2 zbxigV*Vw}IhXHHs4`9)IIErmD5Nt_7dZ4YrI53h{B=om6-CZ=^36xvsop7^VyweP+ z^3H2PpbK7bL1dWHZX1jMmzhwYV-}psJ89L`2Glh&Q33Ou?8guAEiCP{(2zdjA>ZgM z?7BtboJhB2&WShM#5wJdD(8I8a1N=!*v<0eoV4XZ7h-D*(toi52BU2#+Tqw5j5q%T z>aFunxY;iLX@+#1e@J`|d4LNav+@+B2`F~Oq$K9S67i755{P1`U$I-DH{)bx1_jcs zGf%kLF6L>5RGEh}gK68_g4zT|zYi(svCI?Hrk`<7T3en17aqJaJY;^UA1&<3qbm6)e zyOHGJh~r@^D7=()whA}frLQzYs%#D0x+G->M*y{9-msnrN-`I?>jEcW`mGz&R3XN~ zxO<~SQY|w}yxAsZMGq;uGrTr?qvXvc5Q?}WKG_>3u0b%1y9|BI%f!5vT&*h34GRKP zq{Ea*rgcVX-m%EaQluwZSvtlj^k#x;(^vt?WQ0o|jA*l)d7;jMw+T*Vg;49P5^lC@ zO=*Ud6`6X zVT#VW{t#}qOMhsFRP~3wM|VYkpb;A)hz6>j*~J0u#xR}Iu{uIQ_+WTcD2*u2EN(`o8m7*}vgPw%cuTW8|@)Jq_2e{MhUv{tw2rp%wt-{TA zu~jpqJjq_4Gi;^ykN%MMyvq0WAn{d*9#JxY2jP;i4_z=>HUL6`sZg$Pax>=ycTs51 zwTLoNzCcD)I)UF4$OuS&olpS%JFTP-6iFeAuWgy};>|WOUOS}9c*G8D^rgz{*&hZT zibp=ts)r=b_)uIKZz*r2Xp9$L+dAWgo9$w}W=N+PFS|1QXnz|D%BN%TJRajaht~<= zWuBE0VmUvu@5!q1STvRi1Y2jBaI;-3iyBg#Ky(XsX07_eF27snoa_f9q!2!i6%i=l zNH7!(i}@MM%>h@Tl$}9F6{+D^*0NNb*ils0 za&Y^#nHf~-o2nzHd%(86L?j*Oeb|$a}+FlU7d4MN*R@S(X_i-fWYa)DEdK#)@C1 z;1j6A7$D9?bX<_hesZOyf+a9#E$qKVV~0SDb#@3h+r$juY!_=a zLpsh{PskNObxbU4;cJn3i=R$A+5k{XCjo4gtY9Wc_6)ptsN3-?XN0&q;e5ihSQiZ8 zX1fGKGo<5!;f50~BKu;ZoN%&WFweTP9$1rt5kDuLPnZ_#f+5^&mtbgyR0YEs@2ofM zhmT#ylS=F9T$0US-6=JQkOSsuCc4>xmie0i7$m@w97NSi= zOO{>ZP=MqKLMB?=l%GJ7b*2b6+r<>kkTO&JHrJvmOmQO&=GXBBDe0ROdx&Ggl~*9h zI!lC`?P7^$NR=h_x)WrUc+id{7}4?mNIA5A#d?h2IuS{-%oOovo0y^y7ZM;et~iy+%oFF=VKT)r)ROLV(66c&1^%TzwTk$-D8sz-P+>#P-Swu`lzAsuI}+mBFzj(x>j`wu_OPAyr1&Yv{;pG>l{le}2vo6i4RA#q&eg3U6VV zjl#V)aZxj((@YG(qZP@|F#>m^dXCUzXf)Ii*-9Mt#LCW4B#TFQ2g@uJ?zM@9nh{kN zI^!?~d{Ee@b(ZkJBiXbO=L3(l&|v}l;~HEP-rO?dg?nvcykb)gZ~K$(zK@&BYc zSy|a2pkol0C%yytc-BlAKdILN{mn39@sp5Y>2F3Ve$u4l?+{HU{ba-9Cwnk{^6^4^ zJOF!2-{a$j_;?{cUWktu=Hs!x#2A-#C8nQzyf7ax%*R7(Vm5A=j|UtZ>2E$>gpVh^ zHsI$teX!8j_ac0}2p=!P#{&$G^f@0dB8?YvOXG#y()+>%!oC;6xthKoa!ccd+|qd1 z_W5;byb#K?rSI|aJbXMX26o-U$AkM)`kRmE;p2Jucpg3;uxh36@$tNTJTD*5%g2K; z!@lR`<9YdbUOpayz!Lpf6VgvU9_#Uq>r&rs{N&@|5X!zMHQ&Z{KAw+{$B=~SK0Y4n z8jZjGoIXFN&(Ft$XONAD2Fubx^=?n1j0(?A4@BswN#|!ZB0(`sx zA1}bi1Hd2~H^9adv5*<1GKw&E<^_kk^VJ8`Bk_R3IMb#UuzN_*3Th#;%8JK zdZJ8)WvfEG*(Uo^JEUw^04>THVF-i)bX9sZ>{CSAcvuvN$uu=j(Sn96qBlu> zCF@Mp%tz5}0L_ppQysDa+z}vQ83jqfRG#JrHbpbmn*rcXsschL2!%wEqbOx8QjKap z;nTRWR(LV%tQBsyYrSfQbegrnh|dKW4~@@A3XKwLnQbQ(4~T0vKh~Zfj(qXeEHhWU z*(T;{hm@I%q;CrnZ{Bu?26X|=As^-%C}ch6Qu>4UJXyEmi&$)pvj zLG*nw44Trql~Ni^sbrb8=gGPiUd=jlg`4eKx0)dxXRaT()P|8%Vy+CmrQL6%>b)qJ z?0npJ0hX-1pmi1tH`~Qx&5$aK?X{C-w+dQMxq#G>k7{N~54!tqfh;~x*0J!4)|o8a zY!{O?L&{8!*o>d5FxlgA`E??(s&T~-x2!Q)R@Uc({Tvit&^n8So9$w;W=N-5Ou;m_ zPRvzhahQCgg=6vgv5v)8w9I7jW}BF-9a3eoGj=pE(Oe;~PFlU})Q}P?z~p}$6sGWE z)>$juY!_=aLpsh{;1~N)6>pF;!3whDkuxEbW20Ih3*SeX6Y!T%X9zgUqI+(hBY$^5 zm@Mn!BHV13xM+rSTwH*1?M9=He8nXmu}akjv??y~^M(^Lw>(+a#YMQ;E^*Nesfvp; z30VPjw+RNc-ZdT`k+e%Zf~N(E3wN+v3wB4h&gFlZXu;~EISD3;lVe^ybZ#!9c=*tk z(SwtiNRKq6EFK>86|onyUp^ra7ByNz=C4nflP+EXRl-%%*?v?3iG%)-c`Qthbpa7> zwo5=XLpmoQay$(-CE{sD#SzTMhlnR(cc29Zj)p+%h(m2BXOKvoWd?~i+r%L4kRpTZ z?U5p{V1F2nScEWREduEP$TU1V0G`Wem&`7KRO{>#ZnleEnjxKI7Y-H-ACG{ryOCt1DpRFp&Frl&{O|5lFMn9^q!Y*rORzWRI0%j)Egr3VYC_1l^9ct4UUJaa3*s zDc0E`+-w&+G((E)us7dJVTaFyD3dndD_H>?5*ixDku?HY)>$LmY!_=ZL#nKS?PzOk zS78k>l07gVWA~ko$-sw48i>;S9WfxPV2+>JMrhJ9W!AYP+-w(jG((EqvDafLa|fML z5Z=+cm6H7_*ks6*b-tb%8%{P%q%Zw6lwuw>NAw@{ zzDfBn1Y`{7F4C6>0Z(F`A8j(weGY*b03Wmd3sRp2w4mlSkXF13h09UnwuAT@)>)~U zgF+`n$Y*Jh9!Walz)G0p?y%O`qOy`5q_K4o1A&`|wFkIE_*YZnm{ce;Od!@e!-Sjd zT6>xyRfgH!UQ$t#{s_V$On zY!{0(Ly9bNXdeS?vX3g{VjIAnqrM0-YXq{avqretF4kyca^;uuG?ciCSeJB8yNG3KHnPK#yH5O20gG_*sCqTx)cpEnqS z3t#I*IWI*cer^JBTC9tPW=@NIWD)6+q)inKr<%Z_`>87s);e*dBa5^hNCh<11dcfh z;^$=(iL=fi&6^dSL7E{&207Ejji8skUL8LU+p|flO90>JL3BqX)jGR0?^$$qX@-mg zyWsT<697l-aYbPl^X4c3#c+)BP6_esekAXW0MOFC`^lW(GYI7OEfe?IxiXo)C}la%~}>jgB@`H zpNWPzEtW+?yxAtv&<-hzhP_@XIVlD`ZxLP5dZiT6K*$Z?Yv_i9e)WFdzZzMz$7xTI7vcq(^J$+8fuGomGTE?e`fut4PfwXyVuQ9+v_tO7XQXBZiq1&QkmAyFh><{kc89f2EM@6Y!MK^_N0<-!hhiAB(^;2t zWVa!=O^UrCWK+9yVw)xjW>`?f6jj3AmfzOQ<0SYedEE;)+ofzZLy8=CCPIpZi71WM zvn8ET6$|bBu&G62tusvXrbS<(njz!BFaSRzx@lxMq2!QGL-A`o30s=Q$D!Ui>dQHD zMtX#au`V3K&33J3&5)vSSjinIIKfWdh=C{V_GleWTz!*lFt1bGjOzSlBYr0?VO}hY zhH$S^M<@?*gz^waC=YRj@=%x~SaXDOfEr8pbA)oLrefo9gz^waD2L0B zU*`zc5sqNZ5z50Hp*+kH%EKI?oN_{Gyf8;74|9a_Fh?j4yQT5M9HBhymgoy}gz_*} z2D_gllvBV~`ddQS4s(R^Fh?j4bA<9RM<@?__;?(lJj@Zw!yKWU+$n54j!+)v2<2gp zP#)$8H8d^JPfmt(Z>L$inGv z83Vj1IN-@@@QhhbFpO2lo$y&Yc4?&b#%r$?v9T?0w&Kk;8By9H{mg(v>+BJ3wu?QQ zA)RNBAuuu;CX)e1xsOzvpB6v1h$LBNi+Hn5Y|#$s99v|CXb5U7C`7jn3XzWyFNG++ zmUY(JhaD}KN{aMI(jv0fnUwUP5u`CnVaXXvs}3cSaCye5)=nhII#V=nQ)B}~q$h4n zF#;i`a}`RDBVbDe(h_E+#sK=E)CfNnMk3fius`hNMPV7BKI6MWs|@mtk{=W*6z5r1 z!i=*Rf*6q?BIfwa3lC}l43Fc^S2zr4o?9W_Y?q2Pntm3yaA+MGK@y*P!$btAw!R`Y z?^W~_sTnd3YSIW!_#7H00!h}{BHV1(s?iMTJX;I_fY03lS|rIbTg01fVvBajIIsnE z{kka0T6Yurizqpr^eOFF@iH|;FlXzm(!67l6`M#;yi5%d$T#Yl(aF*<58{}`AQEMr zF&Ze~qBBM_q;qRXK68nXxzUV~Bi|lCs}wczt&9=3H76kNT4$|rvt8;@Go;8`D?y5a zlbK{Elp(wnqAMPYcH!g%rb+oj2=z!_#8{sqb>ayq9q{7DLVt`oyF9Z2P6jOFPQpKT?EQVt^^8MnL3MNu+nS0{RHgQioWE{9>gcC~( zOoBJWPlEIU(?QAP&qi zLRpq$_V0B zw@|iF(;+MF)S@X;;YF-7Q@GhKW@?6v12c^PaG^-gRp$VKB<*yx{9l;MN>fnO!QVDm{8FBL0!h}{BHU~jTQoz)fh|Tzz31*^;uA=+&KBWjyV#-`(s{NR zqU567-$OQ<%%1q!W+F+J*&^O-6I--Hifl1oDrTkxOFl3fBGd{8#sChCZeIwf2~-$O zer#444TD;C!N8z~I|iS?^wukj_5cBdj}fmON_;Wv%#AM;FfwE8oX4Tqw*m-#ImVAts(dOfKoc=cf+xmU>t||G%C1S-!ttr9&^C|Y9Au1f$Nf9hK z;wgETRoP)=hA`#<7Bbn7$ZW^AqI!hLB0%+b{JYAtScU|TkHt;N3P82i*RXK2U3;Kr z$T+NFBRp244DGlvM3nh^^p47!-8grO)S8vZ*mQ5kxu1DL2W zFsR`Ghp9yJ8iSog7a!>-hrQ%5sYn)=u5*~wFo#JEbC^^Vfbh@xcpN4*%wbZ)940l) zVN$~!CKY|*rTaKcD)2V=-+a6fACJSNhB-`Xn8T!oIZSGp!=#2eOlp|Jq=q?6YM8^M zhB-`Xn8T!oIZSGp!=#2eOlp|Jq=q?6YM8^MhB-`Xn8T!oIZSFe!sm~}q=q?6YJ|h2 zMmS7rgu|ppI817U!=y$yOlpL~q((SQYJ|h2MmS7rgu|ppuvmys5e}0Y;V`KYk2HS~ z4wD+;FsTs^lN#YLsSys78sRXh5e}0Y;V`KY4wD+;FsTs^lN#YLsg(7|p3h-YBOE3* z!eLS)940lwVNxR;CN;ugQX?EDHR6-_8{sgi=-n!f%VAQ1OfCJ*VNxR;CN;ugQqf_G ze=f;Ogu|ppI817U!=y$yOlpL~q(&r|)F>EK8c9|f90t{gHcIhDK`rv}=iK6E69v;LvWd0!Qjxd`AMQUyQ@}K6n!`{(nt;#Vw&C&# z-w3Xgx+(d+{xCH^6fgz!s)DfA6o{nQFB5iOy3~^fU!%wbYAoXhNg%$Q<@G1tY|}ob z9a3C>R+2jkc6}-g*5H6j&y*M(@S0*U!ha0bHedF}bYg?MN@{BxXB-LlmYKpk+^_rVbtr>Pv@K)7X5O3l>QuteDYWb)--b^tb{@?2bK*c1#AK82nt6 z@(n8hz%?Kyf+~H&%b?P4j#(sqgYaM_$P--WC^)SBu9PfJBT*$kZA%ylBhnR&f@^?q zz~2O%lFE!iM8xs81ho<*G!8GBifl~a>V*7|4S(355eN{r4iW@`9DvS(F^bTi9)OW6 zd>X*I7TOR7ya6xv({v>C(f7P)8ipu4hOyKjxL~EP%(5@y3cB^$l3_~mx|qxmO%P45 z)VG*$E2#4v&?|6V%EXtyMN^0Td)y~=r=!mqdm*n^=&Jkx+k9DMLUtRs+<;muIV13LiM#`f|MAzt7wmMwzsFg8N|({P8+ z>kl(CgWOhRo2@%&kATmg=4Y#rlq*;!sb_`*NJ64c7_Dop3KAI~1d9Qx5JDBM z;u%oF_$lKAvb!Lvl%T{k1bsu&3nX|{9Tb%Gg+o&bXm(WcYo;=pagfv&+e^gPQ;}jo zG-5hj{oxg80;T*ab?&9t5vGIo8J=DzzcSVrTZc^9N-s}%>a_czL@EU2b2f?@z%Yz1 zDQQx+@{^odL_qyPUZ7^?Iwpf?592WLl(g@IYL|J)E@OH~(Y@zD(Rlo5w(LW=E*M3jup^SzGriwg&}<&K`6!MSvjao3 zMTrk<3xJ71uUsq-T25dbq{0W_W_U~#B?mHXZTu{2;6MbH7Q8cBI#JAycpg52(6dMj z5r>AEkT$lm2{Kh6(C@)QC$+)f0U`{L5p2+KlZEigA-~J(fwcgekAPD=oY=z+}ZJ{B1 zISkYXm&cD>0qh*g?1=QTThhANdn8T7cZg^bZ}M;Z7lY(H|mW z{J>8nrDb8)&^Zhhxa6p80Jc^r5irKO1e#rQfXbv35B{YiFk$f8Y|DECz@Z8v)53^S zr&gOk;uoAj!j{gAHU_AV_l53-6fqNDasv3f0em<~TR>!iH2k#!fsKek;vNB-Mc(T_<3`>=bZ#~gxi3H&AP>rD@!U5Y=I9qPy` za+;mUq(Zi>FVSyEw;6`A-GhuG(lYEPV=#0N-oydsMm%uS;*f1bwPW0cIUb70ei^|; z^1~M?dosy+6tgJJ9}Nn#IeNS}mH`4L(QiPWISm{23c?}X5e|anV3;^)K(b>T^aNdS zmT1;zGC0O892mEdVb)v&)((^uHkmk?x6oKVWLm@ju1lghE=IiuSVt!m+jT3sJ!ls& zpwuzuxqU9w9_TWU`in|2tT-<|0*QgEF41p9T&w~GnJTdq-$Y*)n*(TGw+FI>)2<;= zmJZzJ-L$@l+ZFN3{t8h+hW*$UX^W%d1Wt~;?*$z%AfpH%W2xac{8x&b1Su{b563_x z?DDx0YcwL=+_DQJs2c5+bzs{AP;-Q8g^WmbYTZGSaE8@$>V&~mxTG0RsRt3FF|nH; z)DP?)U>9j^RcE(FggOz2!nSBczA4UvtvDG&G|5bbZDYkED|p@bs5dMG-jGJeSQgVCU0)bgV@6av#&#Twkj134gTizNugTTJ zEC#G%eoDiPNPV|ixHi6qZ7AaM1yBqKU{77LO|4*dDxruoe<4TgSpqQ#BYDn*YDb++C(`rpyfi9Cymh=S@8Y?_s#l#*f=tO*B>ng}?;l7ctLh;GLii)=3F zXU$55f{u#j;utJxTGUHOjy^1J^2}o;bJrho8Q97un@`C}WPT)%+Z9Hak;G(d+;juW z%fWA0DfkOV2`B@)rkv@?MAL2!pfM5j5*&9mX zD%!k#Sg@t#3HwohfFqG1K~5cs0E6!JYJEmn$Sj`_YZJ8;SZ=(zoD@}yGN}}vIlR6+ z(9Lci?P3NrYw{9kPlW=eG%P9ak3yoxuO%B(b~4uIp|dVB@(qc0h_T*q$c3nccF_f3 zJCRn7udRf-I(XDViAH3Z+F-#+O08$g1B5xI`> z4YeXz=sJ9poJN$6E>{{zSD3XD-(?7J1&Qw$vR-_31%MkrDjz|bY`GZQhubPYN0TlFXG_#^&$Yp zx(yP3zut?OW3iTa2R2HaKV4pw045sI>e%Y^q7!0R>n);k5}~$*3bw)y95Ncn&26UNQdtu0!M7uMp6=xtfVp)b%I>jwd1bL3A)r;j8Rvn5( zmE3u%A4MH%kdlHl`=jFrMOZmxK^xO*X07q!28sqUhl~>&B*GO)*)^urF)o5pbfk~v zBC;>xU}IW_vaq2o)hZ{ZE15rl;t;%K)|X--HM(Fwh@7bHfqfc8vZ4-sYL2^HVPq=> zNZw&PuLltu*aGqH^NZER+WZ<$0J1(PMV@>bQdKf}I4Gxw#1lSsd@2{2(eIRNpY@#&NL)DcEM4a0pyIl!bmBTj8D|{>Qyjg(4I#|7``o4&B0X&FEXV8(`iFW z{iWy_9gwNaIkpZz114LB1t}@a6eyAlQ#a(+@w>3PW|U1~CQ$B$^#kApdMgWUa{8gx zI{!7~NgSBqPHcjIdnR=346uf@0&k%zZ9jk(JP3cF$u;6c!lH9acnbns99eYmRROgT z&qod}!FDR;894Ys2LSRR#ok^85wFXOf*GS1#&S|*4qy`$V37L>cv;^mkKOoF$V>?$ z9ma?thz;v*i)uj-A}M8tvt%Bv?7jqDOcuiSlo37totP{Pt;8-&7Aj(r@KzF}Dl3=~ z07)Ty6Z}7^PF7ZSUT$JX4#C2aS2*wr$6MiWD;#ZwgRNkzC9D+=wZf5Bf)daQ$Is>P zxg0&0gXePWTn?R!!w!wYfpbF=UJHlK#a6{WlR#Bv%v`7o+#n<7asXaw6d5j;jS_|O zLPL;DbmYjYNe{H|fJ%+vm5r$Lsz{@CVL$Ojzbq3BnRaQh+>@P^mylF9B{!XZOH4}j zq`t^>(OGs+nzgylzebW<@+T`?4r`sW7xCs-Lnv>Z# zFFOZ7{}M(oKFG|;&8ycVB?r;EgrsIE{10y+kdV|aGcB)2E`6CJN4LqoKPxjeJ1w2A zu{jeboF*lIqWzwfjEFymXp{7EL?m45_Wy3`kQW#@Fy=jCLBC4d|yzXwZ4Eu=*i zQwT9Z<98D`4a+R*lakpxFS}M|Rz~*S)~Q8F0J8N!tq)#MH!@pMfa(J3M?TaVs51l! zTvWmx!wJ$w_HZICEi*53K)Nfve?DvwNFB zj437EY73>^a#FI=vQqkFrWQc1N3BH*x_m+GK5DfWkp2k1z?fW7%UfQOveqO8lA4{B zo0*%J?aIu{PYC2nD?s|Vq0N+vrl3@WZ%n8y>YWHpgMpEm#Wva8oZbbHt5y;LI0wmg ziC(2j2Nlg!#&1lqtjTHXDbmztq@-e(f2aUb)p{9nM8XF`(EzC&1!dwWG0uln+F)%F z+U_aXc(YPmS?T#oflsLlK{hiWFqra^sxOe=97ck(@w66c6OkphduDgq;PW#3=DU%r zWe@=L3&EyWYY>p2fl1DXPI>z%GW&aUA5Z}6m27_`Yz93z`g+x*dTdsRyBbfYZTr^1 z^xX7pS4w_-7n0ZEB@1HHQd7ml0c7LnvuQEo-WD0nOzTrKw|{zCUS>{q?}Buznu(1P zNO;STX(eYl12+W7W5!d<&S3UXjO9f7wE!_t5{v!FK_S35RQ&P;UZ8-$%asqUwryLP zS$XL>pf@)?XFz6ZdI2P>3A91fAY$uMQ&SNH_PF!ey4a!Cmg()CSHR2)DVnI&A}d@? ziiAP$$NdE5$yBowkpUaRW~HVFB1q>!Lli?bz z1qrR1l;(HAX^wTKBz*yD(HqWZ_hQ}_d+1G1&vA9j9GsuArKVt^(g5kQ*uLZ}Cu|Vd zck>Yl+qSRV)E-&s>3!0(@Jo6Y%&+_?RuYW@kO=^@BST$D;(;w5%x5QKt}9!nHaD|R zdRk^mL0f~GPZLB;l}=zv-bx?{^ERK&jJ2e)h1Q&GsM{VXJ+kuG4MJuJGM9a{k16>V z@Ztlx$XFDZ7tj`B^Lk*z&HsF$<~txXL~R1RN`8S4COE>vhB}P(^|FP|LA~MODS-WI zxE~3#gih*JLhG;)0zh>$Ce*e=*Fz~;*#k0j3m}z}NO)iyI2Q!}34fpzKt{v@`6c=I zqnNk1$dlSVGp~0_HzG4hb=@TOfb8~8OUX+~%FV-B7e|MhxqZ`9Gcz(%+3_r?Cj4z6J`8$xXu0Kc+Aa%|E5nuKXSd3#n!4}-Ne*fP5e*zv|j6| zPi4$znLzj(1jsEF-i`3rGmwd`BmuDKvxKJ2N-L4J18iIi0arM8d0l&V&}4|n zj)w4QEG!O}6h($9Ylt$wD8@=~jTCVOd@o_r5+F9Ejmwa|1Ro_qhEwJPu2Wo^#byzq z#kW|!5{26-#4d;5@Ht0-kIjkj!iyhO%VcU$DZPRSAxwJ~7{`BYhHq0?3*VWF>ONVfdi*0b*EQSTk4@(qOR3fLrb< z++bJ_@I9d=qcR*TTnB1GzT+XMFj4+jd_!hpA&XggL-ZPe@r8Jt?mNmu&`;sjlu_hY zvo?zIPRcmSJLNwRfYd0_!iB>&|CjWX!aam0*crHw!UFk9?}XNJUWNxKCHV~^b4?vY zz9I}#5Fu2N2$QCdN*f08;+UIQ;2^T}z~{)vkgw9jd;K8<+Lb}nYeit82QeO|R*YCE zZHI&rMw=|{VU+5GolInb${5O(0{NlR0rP_@dsNLxgP?Dn*SuyVtX^phzUcLaFv|(V{+MQ@CLide zt<8LemxsW{{oXVLiS+@ANy{2Az)rQKOt+xhlxqdDK%vCU?CCEDVFf9JDA$U@1X(MY zWCBUpRj9Y-p-xpe`%XTe7`pBzZGI)dwmRW&2EoZ^DU>;65O9NPMR9 z0+zx}$7KnY5vinTIQK#La2Ys{PU5&#trKz z7)3qm1>nA945Lz6{4WhZ`SRA?7 z?E|!bnU*M7oav{LO7h5CDcYeSWktJPCDW-Di;Ba6a_vh(4mUDsTxzrh;?X07{>vQ7 zv~K0QXc-uvmTX)IP?j?rG+F# zxKYW;C=x2jKC7CehHR`v+*a}OVZGtV7W;60$%k2_YH%+!D2yZsk1RkW`_SxE!H#+I zns0VnxUCUM(TGfGcPQsID;|u#S{g|{&oyfl)uMEfm8(>00>1}<1G22yt!D$2h)dEI zMNE{m$(DgEM=&6%3el>P5?5xyx)s5G)TwJYN{uSX(Tmz1XwR6LfvA%ei`moDv2-8P z!L%IAM;Qyb6kxaNbmHx2s#Y~Jq8@KS z_#ttkJhI)~RuUCs1I1|sJ*eSpab6m`g9t<%j z%wIa%5>Tvkkj=o^ltKwWXQzmM^Z}MOOz9j<;eGM}@i4aNSG%P2zvKn6xDS%zqG=|M6nuoTVP?}g+Qa%}-KdJcGH@L&U8sTI`RZn2AJ<|o+9 zR)v0JfU;|uA0?*DoMo;xd*?{i zUI7#fB6(AtBYygq#2@Vv%@?E>Qu>jn?M6zbh61Ng{b+Ng|6pB3r4fD!W{Pz@!)ZkA zBd(}Ni6M#!G6n-)Dn(?-b1x;0GLN5R5i-DVpc7MmEH&1{ise%Pup3HJ zO@(dg^oHp}gwm_i`P^~S9{yao$#qUTa)bc-gVJ1CgpZ{V6FL$d!|05t7~ZDUyc)DH z;yTr&MG#v7jDtuTBv%e%0J6@{){C-##}Z53-Oa{y!)yxPg zwb+KW6HT(YZsP^dhqCGW0w~zhJO1Gf`MJtr#m)-z&&8pJ9_&#v5mkM~BCsrw6)mR1 z;g59_;)hQ2iroy?sqQ~aianY-QBa)_HflZq-$d+V)k&dX4dth&Qk)XMv%n3x5Th+r zI-{6gwq~s}csB_gES5NNv*VFRnPI|G#UY*!>K4cu>73Vvs#JE4Of+|0hH$BTkV4Vuh*WlgOHgfL+-#6C27 zq7|_;J>7+~K!J4ZBIjJ(&!0X-QgHy&JQx-zb)U}nP#LAPbXKeBh%;INm^@H2K!7kw zN)+9~a#ejAvfIKm>&!@v51@j8Yl6BulmpT)IoyvUH_*|ptY$aG( z+H?+uUCcObZmT!T6x~N8-J{PGn7j6$@Tp!AU<;@jQQuJl+LIkg(V0#RbeGf^SVa2` zv#x0eGClQ$TjoH4heP}vxS8m|K&G;PnUkbju~N*+6i(w*Di4-MQLZmj{4{5pd8QUR z@_@p$(4z^6Ug*wwjewYp3Vf6A@5Guy^9dA(74ZIPQcQ#^J4zG7mSHO!RNWFJ5HRG{ zD}Hpov|*31BQ*?1SSC{T2Q6ue@{o4L74j(})?2bTvUz2O@s!{ zwqW8iSW&skT0(bhnbI9-oh<<=0+3IJGMbRooUkS8W)G6kDFX~Kgkz)vF`!;fc3;B} z>-J7hPc!_qO-^PX!w>7^&P)&ImE0!?kc-qW=N3`*i_Jh0?;wl@?_LYQYw^M08BNx`QaI{ z36ZIl#3vRd)(5Z|UuyNbfFET=`)vUhOF*&Bv$L|TfW^`*($t#)i}i6nMS-s}#t5jT zjDPvljIC`x61C5Vh%VKE-eeRbCg+;b{u_a02Nsn?h+OJP60=V_}uw|BN)_9 zD}`bJo$w>-rPL`GsS;ZrOfFY0)L=M;@R~h&IHhVizws!bApc7aQuz%Lypc?Dxz?Qe zx1)oawMuMd6#3PxjiS7hGLG_2)&`Q_3Xu_y&*u@?hGTmW;%%k8TpmPzCok~%%nzcx zlRS*_O8Ji?6bQqMHQ#KLdR4cWRiUt)bzYJ;u<+(x#Mv`%L5c!HQh<@FdG6o2t z{Z}Zc#K{>LYgS6l)iLlJt1;FY!fHWf2oWCAw~{$37K^i#H1c7>Ff}YShjHyE#4Tpb zig(*lYOZom5f%&lQzl7apE`_o>Iiy&U9#Vt)ig<0l2$hmY3v5)!k(nkGaw==Hz?G;DW0DK{%#3;i zE)nXrqA*jg4$P06NNzD*YOYVeqL9?dR0Nu@lLDtw9z)rT6ve1qF+Bz`5bk(UG14F& zO7JLf5P@<&2EU>=gxOUkSDJ?iN?pg(l*}v5y#-X7>(9SHGP9e68gcWoEW9Q277Bxy z=YT*-!IP)|GU}RAxu{$#3J(;`W{wA}&|E*LW=21$OF>x4W*0-$`*Ln5!I!zTPcPvxu65=>z(d1c*@_W-n@*=a8a?=Y zs51{C-QNc!$yiS#V)qmRJrC>5akN4sV-3NM=i&s79*iIybB$x)rQcB4NZD)nO--k# zl5rM>!IV<%1}r69(cFh?l-Grrk@P+M&5{)HeO4Mtf3Y+Hf(HGT%h4a8a`$!g~R) zwrI(D`8IlR!ILf49YZ21M!_W$6Ux)|Ag{<$LkLBw(nS1%3fH0zffiCK3pu@j`gH>V zHCEp_KfOi|&cDz%N{z@ejkFY<36|tjsd3g?_hdTMT^NO+foS#29W`ReMLK$kPnm- zNa+`}wP4dhb_pdN&{hEg*#^RvBuixi**K9JO$2*oVTqc4nZij(09z^=3~S%Y>5awk z!A27!!H0;8F<;q`v$WZQ#iqgbd@NZkPE0WtD(l^fMU3B-rRwx#V;2wk&Otf`URw9T z$hyiGtR-r;DR~8n&=BXS+-7-qfyIR6aZ-x1<%F4KSSn1U$&8iql%(ZAyHgCn6R4Ed zjFkkBf+NDp3Jw6ARfX#mP9IE@W4$tgVyWE9s)aqmUYSz-AwrVqs1}RU0s|ioaumNI+A0rHY>4xc=!m~O?EhO&&cR+xGut&g=yd2Nsv)6;B8qf=HotV!+c;!G@WI>^zY zS~ivAj+;jTbQ=M_v6d>wHL}rz3*b4~yelK1xl-7We z`p}wsXh4OOUu|a+Q$?^)cM58D&J|@#MXwymvb;(Mi17V zF7iSNIu(-zw+N;U`VdA4uLM!1PCnJs@q-^c9N(z?=#2;=KL-0tsv&gcXseM170Q_f7xM&pUeOkySX9i875NyPn+TqYNQm zC@>%^QUP`171CY8=+%dG7t=vqdJ#SZk5uZ6U?zGcc1D1%Lqr7dz_B|TkLkLL64Mo? z9x^QDpeff1oI3d>d196j(ltH%LRh%KnbVh|D7yI=%C#cQzZ}msIsc3c`qsILc&;+% zLY|0ntw27gud8rE380$hgfa*{*Tg*Pb3=KqFp6@mklYZ@v6@&e`VOM|2@1etmq%P< zxjyQh9YMiHEEP^4n~WZOKE!f;UN~$31RXmm=WQ(4hk9gRSVz@5&PAgKqb(cOB?STr z?nAPB>6oC6>B3eJ9Oc-v+4+m?70F`3r;*c#DUL_M3?FQM;>k1=8KX=+CK%>Ygc*`ZoMq7u*^mMl z2JWGl2>y#Z=72Iia9|d9X~VxiVp@OstjUjc6xalKDYp9ppbGQFD#hP`34RICks1jKzgG5 ztI)6JYIn0)3lh?BR#i)N*6Y7ZB81{gdTAsc<~pcKDQol(qTASq6U{-Y>7LWdE~ zebGQMevbeW$xt#-Hm*WYu!CWSLkBc3Hcxj11u!vljaSZ>WJp9PNY(c&!NIRmYo5+R z>TtBH#oTHLc3y`YJ=j1t1Xali55Vp2hf0r5sQ$V^f z?FRA!-xIfqnHQL>5f&hFDl+N;{CXHbz?wNH5y#HUqyrM;bZEnaruIPf($e8L?~NWD z>#OIXIVCL&wqg{_DIvl|pF=Fe#1wMb0O2P>Q2H^OspET-$LPTT8e@KUSQS!B2<$bn zks)Sy%aa*n(O6ZokWw7+F!>aWQx=(NZ6&&33QP_|**xnD6+79qpg}hUwFxwXoZLFI zV49}?U?Tp5iSUv3mmrJOa!Z#cN``H z75dWu<$0rGei>tc*Xc+6?%;oA`lKx75`Fqfe=8BENGPUEADM~P%kIfR zS;egTq)#44scFxDAj$v#Urjrb)AY*Xt%mswOK4d@mhfr+t7*qfBVPDlO}h>dtBDw+ zQok<57?o>6jL`sELQxb-&969)T#qV@qaPqthf!InUehT?*B?fSDGCyyUeg)I?0Qt1 z5gRT@%It)50NRnVyRk5hYu=2xBJTmhWb#nBa;3njl*dpsx03vzTroX{P?yHBm}P{yns$#bT$KC=WwM3b1?5_SlP4!H$UCPnhVnRUem5}Lm9?AHE`=JMCi>kCNS z&OkNkoJzY;jLRgERh%FqgKwIaGBb0j)SjWWiVIx=dGe{qV~PbyA#z41>k%k~XDKn3 zMQ2#rx0I@)cMJ1z;??QYgtQk*cah6%$aq5l0Y)38hm$u{SXdMXLjO?<*y*ao7)g*~ zP#RUzpSS5yXvye8WKNqS?6?jvda$PSpF%_-@|%OFQsNT%wn?x9l%B$biG2rrmXn&L zOm`|E5JE>7fr3aJ%$ekZWXB=#H>?Mb1$$6QN5-}Kl8jW|nusGUGa+WD5xCcx_{Y2+ z#GFEx3f>26RK#8y=$~|wL9B)*z-u0c-P)SZr(!%6{GyOCiw}Sp4kto?vx=B}3n{@x z>c<4afi{3A|?=-ld6?TabBV4Bx) zDe$9t(YYzTHh8eH6rhJ2aVo0KuoPKk>m721pE%ORhNfea3Fuoem$>PSqjZYU+>WFIld4I6Vp}$Y z7GhQg?NP8kq;Jb((xmgntzSr@S0-y|6AqwTocf&h)f1PYd(-%xNQ|l)GqfqDN{CjuzoI&%zq{y zEM=W(8q!1Lr{Fdy2`;Ydn$$9nG1;_fa&wGr#*#G(TI3TfmKiNKzXSp$CFPT3Ygprq-Qq{&02Y?k zZsB_qmAP|XpIb>lqq}ocd~Eb!)M|szWV0|$#Iljq^9fg$0y3Z?BT=UsTqUbkQsQi} zVVZeUN&KdyP0}}vu(%wO44``IR~u74Ag_ZaVP`r5h3XJm5@ND+L)ekHKNK&)b|v{$ zOcVQGs@Q+2Vho0aiH|KEg(3kV<>}v!J}56Ssc|1PORCF%*5f}Lqa_k`!C|-ELtb3eF;M>&sres(y66v0s#s8% zH@T$?TAg|S%M~LJvQe%Wd@wF3NUzfUgz&mT9=EmbC(0;tu9&q^lt8F5j*=^u|3FfZ z^uJuO|8m6=I(EkTPlKF$^%`&p$q+?uH6UaLDZ`p=U!zF6Fo=4sDCtFRvV@SxX4Jw4 zw#|S2Ph8$a@^z>)4hHhHKlPdp7Ya(oP=`^HF^ZDAsf70O<0g4k&YxT{MRO~;V#<{Q z)1BnRFd?T!zC?q-c~+GECwfDe$%+xNatg{*3Z3&@F=e)eTruTZfgDiun3Cqjujoyl z{$dc;k1~jIO>Y>pJTRLpCh>rB#gN#bdxA60np6lS5wsy!OqqEhl~uV`AUC3@fkT*b z_mpdTQ>o7pK@}++QLgC?V}>K5TUgFzQPtIdxng>aSN_WtE1WYsIyWhfah&J}i+M!< z<%%gSY1C=4lq<%? zCF4bnhZVv)5I5m13M959{E=YOK66tM#MvVuV$P@KIy z0hE+nToOPLtOW)od%h|db~$sEP$}9s>35-#ee>W>OiqCXv?tLPDL6}#VkCN9T8#RC zL3}7ngJNQAg;NyGv>GbpB1IV8qu2e!>BNPg(SxA}NvTo19w8*)ws~X01mxh7G)Y)* zvAKo>Lq;)qMD}UDvNcTUPE7e(;CA7rG!PExXUjP~rG^hS1BAmSi7?z)$O=E@WPK@2 zmCjQ6X;LXAQ@TdkjTzW;l%#)*!5V|`3txca{%n=IZD+tda!Y-UaXE%tU1^R!eXL46Qw4Ga)-Fem!iciV+nSGREsHHldMv< zDVUa6Ys(0z>-s5rl){S~K@cgdewKs5Q(wp^A~PD_P``_;b-W~3-Y~P#a#31{OrA>jrAWFauLQ6#jmTr!r@z|ICl96EfMuO}&- z{xEDJ;5Jtxz9#{^3X6gGj&IY}&+HW?~0Sb4F((0fPrNSCzbK^ouDN8IN7sS!aO7?%0RgbhLlxxsgfu@O_Hw%7Y znkZ^c#J*3@a_E&2YS3#c(lHqm&bxZC#SD6|gR+vNn5rc#4Wzr#*V#lcZgH{+MT~A_ zhij%eFfqc>3hN3xbF4s^KZsgVY(`mfI0mw;AwR350<)NwL#7$@4@cUjDl5)9gYSAm zILY8$Apo({qn!k{2x22AutV)F&XVmSh_ZEG0F7G407O~xII+A(vF90>A)wjz;* z)ObcIWsYk+qX$Edd5%4^df47Y8@)E$(ez?1BJV9DInE;L2~h}nB%eZFz6IA zN6A0qWQUPZK&M@wH!P&EN|guLw75!1r+0%7$mcb`eHBhTD0Kyp{qYwM!w1tT5-$(N zuw9+0M5q)d9r#4tKX^iw)eVL{m9*BnKM+NR5P2NP<9|WPC>L z==g;Ee$vLqy$FuGW&l7z5dK=qonG`t4+dUy)I6Z)Cj6#?2a_Fw)B+qVS@JWhx|1zo zvKv^=?*Fm(Zq0EdSDxoPK1DuuTbsblh{)R-ZOl|^t2M1@X4O*l_RN&k1BgqD-4dxK zsp+0?zrX+SdxQrv0*C;r)}RszB9I7oKYs34{mj&A{^paWXq$6YUI^3u^f{Cf74*O! zri;rbQqhiPk0>WE-dVF9TX+cW&UMx_n3z*p2&-gtJp0&ADylRC#`H5+lwvi+Jol=X zLvUlQnOY)u+3IBru&C?q_zDB<#ulz2bk_-sCBIC)mo_U2rpU?tK?Oe^!h_c3Hp7U{ zjq0=>X@XBX*ON42Z%sQ)H!7gQU>;`AVtr)cYskP5p^f#a)3b~mDwbDgWzD|3CLA@~ z$=a-JbYWcrY$cj7sQD(Axad6wt|CKnY|fhn@s^vvR5<5MY9T#JHgLx6X_s;2?dFGv zE26)&Pf(FO{rK6UeQ^W$4WZvMQtpoaSh zPuNY&&7b$8n9@njKYGV5o~p(Diz9E|shaSXaH@H4iKmM1iKlw}MQ;@cF~Rpa8P2f@ z<5;@7_i38@3!5V~k15h}(WyEnp{M3qJH!(rsnoBl{-E(>(2xwvS1JgL?1!t00kO7eb zGG;QhA!m3;lxy)F@ySKH3h&T9&=y7G;gMd#jI8HW9MoPh^&%o;l(g+CUc_M8TAusy z(9FDnz)_Z9OA+2#dU||z@eZ<`_$%;FYT&D9xECDNza&1Zy=LkyOszR!M3brw>~A~` zPvlVPE;3r4N)E+&O8tG#B*jpTlox0-`1_E)Ph$QG_=b|~_l`|jyFaBtoX5VR32;ZOZ6EaJS7vY%Fv$bv`IO^MU&QaaFQO}-j(iC z^^2&_w-K&f)If^+p;VwDnUE4=>ILnUiUr^O=_+%D) znjZAXS=MN3a-iV@efjpa+Z_-et#1D? z_~Z@v3Z93+h~Z4=><17a9!nTIo*gx;h0)Efp2)8K$WsgxA{kNFBC^$PEe4<`F$B#; z`R2+zwW=V9-X|~?l%a4NOkwgBJ`wN9kq2lmA2v~Pesy8M;Ywymw*Z7$l*}Z8PcU+E zC0>vv4_Rzjc>pe!Mz{qKTgI_Z;1FdvE^F~#-tMAP>U@l}$y@S4MOMl+8T_*-Xpek8 z*80RI46wr*msX(_iDoFAO_nqUe#)eeosP&iy<5liDk$m_fPcb5CIv)k(v_ zqosSGio6#+pV4Z3j$I$2oxLPJTNZeAWCATy;KJWPeD<6>2+n~icd&yc-Ek*RZb*>b zMPWxzBZlI<7Iev+1JiFKz9u7x_^bxX`i&F^@HY~l)m}4&DspKua1QKor?pLG47yJj z?qp7^o^XMAevP0W66@L;^Vq^a2j{?kOS=EAGI9K8A^yZYUFY zM|06EkE+Nzvtmx-ur5ie$O1NvDm1x=LS!LNw-lbH2%())2mK0D$VV5xR9}WtEIUl9 zvMETYL8?}A-Oej@&HOB=P`%t~!8`u;&NUA3`l_;`aOhM8c})w=+2KXUL)V?vEqaLG z=zS>4Xnt|BfsSat7Tmzyi7sH1O>9Qhi|49$JNy$3?X~(N)mI1L*uv8Rh~4Qbo`YNO5yERuI7$F@F81Mn zcUZDVYK_!_9)iUudR)Ie;7l^lfpOX|4f1wu;l2;aml9g#ziedzF7hXtdxh)Falgs@ z>1l*ccMtV>eg&Y7EnEj0#O(bg*u~M;4u}dXISB$juc}=uZslvQ-^AKLMdDIO^9n#6 zTX+Ph;G0U90He8YP1yJVhm|G-sVWk;X;au1HY&sUI>F&6l6Y>OA{c=@sLmf0J&tPw zykq{(`4#Mdc5LA~z&$29G38yafVS`!2AK~CDbbPa2eeihVghYms`e9^Lcy{E`=&en}`v;qOp(V0lO0(asZPqkr%o@~+7Z>-V3)jJ2&^$Dawl7UTi;x8s zK(y{X!FPmJ70!`+ohuT9h6_jrMrg0hQV|QPVtNJejxBr{ynR9Mq?+u4A?o(QX_pY% zGN{T{aSkYj=XNbKqF}QuMPfXvUK+w#%R;8gDv*#BK4?o!Ymz49w=3D;qC{vy{M$vM z>IqXdqxP+o=dF~dB>~#$Zp)PNoU@XYUuG$fifUfGlxMePGV$i~hkv`$P>)c{Ljd^r zR?8!Q+t{3qJ-r)tC-i_=%X6TrZf?~}d`qZ$!FMy`Eiq;j-xI4|=DjEcSz-PR+@>Zl zoNCwY$W@qG%M;%cPBrf>@l^3W@l=n$$VI8%riZ*u4|$s&@-{srWZ_@TO^Ey^E5b?7 zDn&RKqT$(VVl@0YwROM5TAm;sW3o<^P#3Qw$fB%pAv~gY!1Wntz~p3|>>VL}r}By^ zX$g6<&ZX%gs*&He_58()$vWEdvqu_5XlKbf@!7>2@SvIoygD&t^b;$x;t}TwnTUQmhYIaf?6E#H#}+m}nc4vP-eOir(@;#KK@Dm)lm$HS%(+?8@~^2i zrJPsFi%}*qZcc-#mF4ig$_YX)0%!qM01uqS$D?^_-46}djCc5)FxTbS(gpyx+I>3wD#-0H-Mu~! z)5ttOROV<UkZlL9QuDS^n+_{J%mqB@I7V~)gp=8O zgnAw(d@ni$If(>@WJggci0GOFI|?=$*LyrZRZXknMg)kZT2wV-2TmC! z)j{e!EK#hE!y=&r5NI50KNW3gh(#Es;1vJW^Bnic=jtSjwdM2Z!hLM;CG__W(;{yC z!sWB7lFqw|0z59B`&nRMP&pdqi9**z9wIFlgDVjha`;T1Pe04X1}R8hh2h|c&az^fw@T)>xurW=UQo^uDm!#w2d{zTx{YHud_}9c|wbx9cirjn~c$hU! zsao%p8=$Lum~jlzN4b(qx3*?9w(u+u^TL*Nm<-YFxAjV-pHn$#b7E#|h0CsfaU%<( z-bAz4o10Q;R8m487<2WRI}Vduo=KECergs{W?8R4>lTqo{WA#PwaxXeJsy&p_9C-x zl@4SC*NwoD7Ut$sf$5l0I2f$K#_ur~qPb|AqxWMwkX9LbEtfTCP!}Eg9UacAbx-8N z%dx9kQSXpN%abcN)N9F;J<EK`lRS zjweE}Y^;+*n#tRIBFdb$uT&~Ew(yIiOtFy+W%?HA4Dx-;qkqezM;Ln@V39of-FBDd zga0BE>0L_uD`e6)8RSAH{dw1(-ZJT>7>#ApQ@u!ppDNmrbFK%d!Sm)v#J7Z;^LcMc z=5E+c%sHR;qTpLxu> z86T?$)s*-BGn?a~XhN2JMsX2+)4LNrX$f}im4%`XVM_X>UAZN@Imf)qiL82ET}BPQ zS(l#fUH=vYQZk$OYESmf=0rCZi`Y|Buv4Gb62iGdlKDrAE;%wPBwMl;vuf^02#(44 zgnH}D`l&IQhG`uwv6v0be81-gE`x+OVqg6 zqFZQafd~VF3pET6Z+6ENjDC?E1oF$T3Bv9+fWHm`?nbORmVk)e@E^BGZntYzse(h@ zsw0ya`nS7NdI!G?eu#sH+O1Ghq%3mFA@6^7Q6Q vfK`^6f2E)>7VAr|$jfK#FFi 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�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 z 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 a{ZW9d21xypUvY~xw+!WFQqmA4q6q4HnLvjJr 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%0AI+p{K0`6ugiC~t<0 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 z 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%0D!W={}Xlh+^-0bJ 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 i6rBr?H{qwlscn-{Qmf83~5Z*e^Vz9(E0m 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 M`!wu!&u=fo9~QK9bN~PV diff --git a/pyproject.toml b/pyproject.toml index 2704ffb..e8dfcdd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,6 +7,7 @@ requires-python = ">=3.13" dependencies = [ "generateds>=2.44.3", "lxml>=6.0.1", + "ruff>=0.13.1", "xsdata-pydantic[cli,lxml,soap]>=24.5", "xsdata[cli,lxml,soap]>=25.7", ] diff --git a/src/alpinebits_guestrequests.py b/src/alpinebits_guestrequests.py index e6f8629..c2f797a 100644 --- a/src/alpinebits_guestrequests.py +++ b/src/alpinebits_guestrequests.py @@ -3,12 +3,16 @@ from datetime import datetime, timezone from typing import List, Optional - - - # TimeSpan class according to XSD: class TimeSpan: - def __init__(self, start: str, end: str = None, duration: str = None, start_window: str = None, end_window: str = None): + def __init__( + self, + start: str, + end: str = None, + duration: str = None, + start_window: str = None, + end_window: str = None, + ): self.start = start self.end = end self.duration = duration @@ -29,16 +33,27 @@ class TimeSpan: NAMESPACE = "http://www.opentravel.org/OTA/2003/05" -ET.register_namespace('', NAMESPACE) +ET.register_namespace("", NAMESPACE) def _ns(tag): return f"{{{NAMESPACE}}}{tag}" - class ResGuest: - def __init__(self, given_name: str, surname: str, gender: Optional[str] = None, birth_date: Optional[str] = None, language: Optional[str] = None, name_prefix: Optional[str] = None, name_title: Optional[str] = None, email: Optional[str] = None, address: Optional[dict] = None, telephones: Optional[list] = None): + def __init__( + self, + given_name: str, + surname: str, + gender: Optional[str] = None, + birth_date: Optional[str] = None, + language: Optional[str] = None, + name_prefix: Optional[str] = None, + name_title: Optional[str] = None, + email: Optional[str] = None, + address: Optional[dict] = None, + telephones: Optional[list] = None, + ): self.given_name = given_name self.surname = surname self.gender = gender @@ -91,6 +106,7 @@ class ResGuest: def __str__(self): from lxml import etree + elem = self.to_xml() xml_bytes = ET.tostring(elem, encoding="utf-8") parser = etree.XMLParser(remove_blank_text=True) @@ -98,14 +114,6 @@ class ResGuest: return etree.tostring(lxml_elem, pretty_print=True, encoding="unicode") - - - - - - - - class RoomStay: def __init__(self, room_type: str, timespan: TimeSpan, guests: List[ResGuest]): self.room_type = room_type @@ -114,7 +122,9 @@ class RoomStay: def to_xml(self): roomstay_elem = ET.Element(_ns("RoomStay")) - ET.SubElement(roomstay_elem, _ns("RoomType")).set("RoomTypeCode", self.room_type) + ET.SubElement(roomstay_elem, _ns("RoomType")).set( + "RoomTypeCode", self.room_type + ) roomstay_elem.append(self.timespan.to_xml()) guests_elem = ET.SubElement(roomstay_elem, _ns("Guests")) for guest in self.guests: @@ -123,6 +133,7 @@ class RoomStay: def __str__(self): from lxml import etree + elem = self.to_xml() xml_bytes = ET.tostring(elem, encoding="utf-8") parser = etree.XMLParser(remove_blank_text=True) @@ -131,7 +142,13 @@ class RoomStay: class Reservation: - def __init__(self, reservation_id: str, hotel_code: str, roomstays: List[RoomStay], create_time: Optional[str] = None): + def __init__( + self, + reservation_id: str, + hotel_code: str, + roomstays: List[RoomStay], + create_time: Optional[str] = None, + ): self.reservation_id = reservation_id self.hotel_code = hotel_code self.roomstays = roomstays @@ -151,10 +168,10 @@ class Reservation: return res_elem def to_xml_string(self): - root = ET.Element(_ns("OTA_ResRetrieveRS"), { - "Version": "2024-10", - "TimeStamp": datetime.now(timezone.utc).isoformat() - }) + root = ET.Element( + _ns("OTA_ResRetrieveRS"), + {"Version": "2024-10", "TimeStamp": datetime.now(timezone.utc).isoformat()}, + ) success_elem = ET.SubElement(root, _ns("Success")) reservations_list = ET.SubElement(root, _ns("ReservationsList")) reservations_list.append(self.to_xml()) diff --git a/src/generated/alpinebits.py b/src/generated/alpinebits.py index 004bbf9..42c9ff3 100644 --- a/src/generated/alpinebits.py +++ b/src/generated/alpinebits.py @@ -238,9 +238,7 @@ class OtaHotelRatePlanRq(BaseModel): class RatePlan(BaseModel): model_config = ConfigDict(defer_build=True) - date_range: list[ - "OtaHotelRatePlanRq.RatePlans.RatePlan.DateRange" - ] = field( + date_range: list["OtaHotelRatePlanRq.RatePlans.RatePlan.DateRange"] = field( default_factory=list, metadata={ "name": "DateRange", @@ -256,9 +254,7 @@ class OtaHotelRatePlanRq(BaseModel): "type": "Element", }, ) - hotel_ref: list[ - "OtaHotelRatePlanRq.RatePlans.RatePlan.HotelRef" - ] = field( + hotel_ref: list["OtaHotelRatePlanRq.RatePlans.RatePlan.HotelRef"] = field( default_factory=list, metadata={ "name": "HotelRef", @@ -907,9 +903,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "type": "Element", }, ) - info_code: Optional[ - MultimediaDescriptionInfoCode1 - ] = field( + info_code: Optional[MultimediaDescriptionInfoCode1] = field( default=None, metadata={ "name": "InfoCode", @@ -961,9 +955,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -971,14 +963,12 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "min_length": 1, }, ) - text_format: DescriptionTextFormat1 = ( - field( - metadata={ - "name": "TextFormat", - "type": "Attribute", - "required": True, - } - ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } ) language: str = field( metadata={ @@ -1029,9 +1019,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class ImageFormat(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) url: str = field( metadata={ "name": "URL", @@ -1040,16 +1028,14 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "pattern": r"https?://.+", } ) - copyright_notice: Optional[str] = ( - field( - default=None, - metadata={ - "name": "CopyrightNotice", - "type": "Attribute", - "min_length": 1, - "max_length": 64, - }, - ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, ) source_id: Optional[str] = field( default=None, @@ -1069,15 +1055,13 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "max_length": 64, }, ) - applicable_start: Optional[str] = ( - field( - default=None, - metadata={ - "name": "ApplicableStart", - "type": "Attribute", - "pattern": r"--[0-1][0-9]-[0-3][0-9]", - }, - ) + applicable_start: Optional[str] = field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"--[0-1][0-9]-[0-3][0-9]", + }, ) applicable_end: Optional[str] = field( default=None, @@ -1089,9 +1073,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -1099,14 +1081,12 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "min_length": 1, }, ) - text_format: DescriptionTextFormat1 = ( - field( - metadata={ - "name": "TextFormat", - "type": "Attribute", - "required": True, - } - ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } ) language: str = field( metadata={ @@ -1157,9 +1137,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class VideoFormat(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) url: str = field( metadata={ "name": "URL", @@ -1168,16 +1146,14 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "pattern": r"https?://.+", } ) - copyright_notice: Optional[str] = ( - field( - default=None, - metadata={ - "name": "CopyrightNotice", - "type": "Attribute", - "min_length": 1, - "max_length": 64, - }, - ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, ) source_id: Optional[str] = field( default=None, @@ -1197,21 +1173,17 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "max_length": 64, }, ) - applicable_start: Optional[str] = ( - field( - default=None, - metadata={ - "name": "ApplicableStart", - "type": "Attribute", - "pattern": r"[0-1][0-9]-[0-3][0-9]", - }, - ) + applicable_start: Optional[str] = field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"[0-1][0-9]-[0-3][0-9]", + }, ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -1219,14 +1191,12 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "min_length": 1, }, ) - text_format: DescriptionTextFormat1 = ( - field( - metadata={ - "name": "TextFormat", - "type": "Attribute", - "required": True, - } - ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } ) language: str = field( metadata={ @@ -1539,14 +1509,14 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "type": "Element", }, ) - info_code: Optional[ - MultimediaDescriptionInfoCode2 - ] = field( - default=None, - metadata={ - "name": "InfoCode", - "type": "Attribute", - }, + info_code: Optional[MultimediaDescriptionInfoCode2] = ( + field( + default=None, + metadata={ + "name": "InfoCode", + "type": "Attribute", + }, + ) ) class TextItems(BaseModel): @@ -1560,9 +1530,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class TextItem(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) description: list[ "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem.Description" ] = field( @@ -1575,9 +1543,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -1615,9 +1581,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class ImageItem(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) image_format: "OtaHotelDescriptiveContentNotifRq.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.ImageFormat" = field( metadata={ "name": "ImageFormat", @@ -1644,9 +1608,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class ImageFormat(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) url: str = field( metadata={ "name": "URL", @@ -1655,22 +1617,18 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "pattern": r"https?://.+", } ) - copyright_notice: Optional[str] = ( - field( - default=None, - metadata={ - "name": "CopyrightNotice", - "type": "Attribute", - "min_length": 1, - "max_length": 64, - }, - ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -2067,14 +2025,14 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): "type": "Attribute", }, ) - charge_frequency: Optional[ - TaxPolicyChargeFrequency - ] = field( - default=None, - metadata={ - "name": "ChargeFrequency", - "type": "Attribute", - }, + charge_frequency: Optional[TaxPolicyChargeFrequency] = ( + field( + default=None, + metadata={ + "name": "ChargeFrequency", + "type": "Attribute", + }, + ) ) charge_unit: Optional[TaxPolicyChargeUnit] = field( default=None, @@ -2204,9 +2162,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class BankAcct(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) bank_acct_name: str = field( metadata={ "name": "BankAcctName", @@ -2232,9 +2188,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class BankAcctNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: str = field( metadata={ "name": "PlainText", @@ -2245,9 +2199,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class BankId(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: str = field( metadata={ "name": "PlainText", @@ -2258,9 +2210,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class Cash(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) cash_indicator: str = field( metadata={ "name": "CashIndicator", @@ -2271,9 +2221,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): ) class PaymentCard(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) card_type: Optional[str] = field( default=None, metadata={ @@ -2356,9 +2304,7 @@ class OtaHotelDescriptiveContentNotifRq(BaseModel): class StayRequirement(BaseModel): model_config = ConfigDict(defer_build=True) - stay_context: Optional[ - StayRequirementStayContext - ] = field( + stay_context: Optional[StayRequirementStayContext] = field( default=None, metadata={ "name": "StayContext", @@ -2778,15 +2724,13 @@ class OtaHotelDescriptiveContentNotifRs(BaseModel): class Warnings(BaseModel): model_config = ConfigDict(defer_build=True) - warning: list["OtaHotelDescriptiveContentNotifRs.Warnings.Warning"] = ( - field( - default_factory=list, - metadata={ - "name": "Warning", - "type": "Element", - "min_occurs": 1, - }, - ) + warning: list["OtaHotelDescriptiveContentNotifRs.Warnings.Warning"] = field( + default_factory=list, + metadata={ + "name": "Warning", + "type": "Element", + "min_occurs": 1, + }, ) class Warning(BaseModel): @@ -3188,9 +3132,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "type": "Element", }, ) - info_code: Optional[ - MultimediaDescriptionInfoCode1 - ] = field( + info_code: Optional[MultimediaDescriptionInfoCode1] = field( default=None, metadata={ "name": "InfoCode", @@ -3242,9 +3184,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -3252,14 +3192,12 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "min_length": 1, }, ) - text_format: DescriptionTextFormat1 = ( - field( - metadata={ - "name": "TextFormat", - "type": "Attribute", - "required": True, - } - ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } ) language: str = field( metadata={ @@ -3310,9 +3248,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class ImageFormat(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) url: str = field( metadata={ "name": "URL", @@ -3321,16 +3257,14 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "pattern": r"https?://.+", } ) - copyright_notice: Optional[str] = ( - field( - default=None, - metadata={ - "name": "CopyrightNotice", - "type": "Attribute", - "min_length": 1, - "max_length": 64, - }, - ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, ) source_id: Optional[str] = field( default=None, @@ -3350,15 +3284,13 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "max_length": 64, }, ) - applicable_start: Optional[str] = ( - field( - default=None, - metadata={ - "name": "ApplicableStart", - "type": "Attribute", - "pattern": r"--[0-1][0-9]-[0-3][0-9]", - }, - ) + applicable_start: Optional[str] = field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"--[0-1][0-9]-[0-3][0-9]", + }, ) applicable_end: Optional[str] = field( default=None, @@ -3370,9 +3302,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -3380,14 +3310,12 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "min_length": 1, }, ) - text_format: DescriptionTextFormat1 = ( - field( - metadata={ - "name": "TextFormat", - "type": "Attribute", - "required": True, - } - ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } ) language: str = field( metadata={ @@ -3438,9 +3366,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class VideoFormat(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) url: str = field( metadata={ "name": "URL", @@ -3449,16 +3375,14 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "pattern": r"https?://.+", } ) - copyright_notice: Optional[str] = ( - field( - default=None, - metadata={ - "name": "CopyrightNotice", - "type": "Attribute", - "min_length": 1, - "max_length": 64, - }, - ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, ) source_id: Optional[str] = field( default=None, @@ -3478,21 +3402,17 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "max_length": 64, }, ) - applicable_start: Optional[str] = ( - field( - default=None, - metadata={ - "name": "ApplicableStart", - "type": "Attribute", - "pattern": r"[0-1][0-9]-[0-3][0-9]", - }, - ) + applicable_start: Optional[str] = field( + default=None, + metadata={ + "name": "ApplicableStart", + "type": "Attribute", + "pattern": r"[0-1][0-9]-[0-3][0-9]", + }, ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -3500,14 +3420,12 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "min_length": 1, }, ) - text_format: DescriptionTextFormat1 = ( - field( - metadata={ - "name": "TextFormat", - "type": "Attribute", - "required": True, - } - ) + text_format: DescriptionTextFormat1 = field( + metadata={ + "name": "TextFormat", + "type": "Attribute", + "required": True, + } ) language: str = field( metadata={ @@ -3820,14 +3738,14 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "type": "Element", }, ) - info_code: Optional[ - MultimediaDescriptionInfoCode2 - ] = field( - default=None, - metadata={ - "name": "InfoCode", - "type": "Attribute", - }, + info_code: Optional[MultimediaDescriptionInfoCode2] = ( + field( + default=None, + metadata={ + "name": "InfoCode", + "type": "Attribute", + }, + ) ) class TextItems(BaseModel): @@ -3841,9 +3759,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class TextItem(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) description: list[ "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.TextItems.TextItem.Description" ] = field( @@ -3856,9 +3772,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -3896,9 +3810,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class ImageItem(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) image_format: "OtaHotelDescriptiveInfoRs.HotelDescriptiveContents.HotelDescriptiveContent.FacilityInfo.GuestRooms.GuestRoom.MultimediaDescriptions.MultimediaDescription.ImageItems.ImageItem.ImageFormat" = field( metadata={ "name": "ImageFormat", @@ -3925,9 +3837,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class ImageFormat(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) url: str = field( metadata={ "name": "URL", @@ -3936,22 +3846,18 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "pattern": r"https?://.+", } ) - copyright_notice: Optional[str] = ( - field( - default=None, - metadata={ - "name": "CopyrightNotice", - "type": "Attribute", - "min_length": 1, - "max_length": 64, - }, - ) + copyright_notice: Optional[str] = field( + default=None, + metadata={ + "name": "CopyrightNotice", + "type": "Attribute", + "min_length": 1, + "max_length": 64, + }, ) class Description(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -4348,14 +4254,14 @@ class OtaHotelDescriptiveInfoRs(BaseModel): "type": "Attribute", }, ) - charge_frequency: Optional[ - TaxPolicyChargeFrequency - ] = field( - default=None, - metadata={ - "name": "ChargeFrequency", - "type": "Attribute", - }, + charge_frequency: Optional[TaxPolicyChargeFrequency] = ( + field( + default=None, + metadata={ + "name": "ChargeFrequency", + "type": "Attribute", + }, + ) ) charge_unit: Optional[TaxPolicyChargeUnit] = field( default=None, @@ -4485,9 +4391,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class BankAcct(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) bank_acct_name: str = field( metadata={ "name": "BankAcctName", @@ -4513,9 +4417,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class BankAcctNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: str = field( metadata={ "name": "PlainText", @@ -4526,9 +4428,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class BankId(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: str = field( metadata={ "name": "PlainText", @@ -4539,9 +4439,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class Cash(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) cash_indicator: str = field( metadata={ "name": "CashIndicator", @@ -4552,9 +4450,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): ) class PaymentCard(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) card_type: Optional[str] = field( default=None, metadata={ @@ -4637,9 +4533,7 @@ class OtaHotelDescriptiveInfoRs(BaseModel): class StayRequirement(BaseModel): model_config = ConfigDict(defer_build=True) - stay_context: Optional[ - StayRequirementStayContext - ] = field( + stay_context: Optional[StayRequirementStayContext] = field( default=None, metadata={ "name": "StayContext", @@ -5025,15 +4919,13 @@ class OtaHotelInvCountNotifRq(BaseModel): class Inventories(BaseModel): model_config = ConfigDict(defer_build=True) - inventory: list["OtaHotelInvCountNotifRq.Inventories.Inventory"] = ( - field( - default_factory=list, - metadata={ - "name": "Inventory", - "type": "Element", - "min_occurs": 1, - }, - ) + inventory: list["OtaHotelInvCountNotifRq.Inventories.Inventory"] = field( + default_factory=list, + metadata={ + "name": "Inventory", + "type": "Element", + "min_occurs": 1, + }, ) hotel_code: str = field( metadata={ @@ -5309,9 +5201,7 @@ class OtaHotelPostEventNotifRq(BaseModel): class EventReports(BaseModel): model_config = ConfigDict(defer_build=True) - event_report: list[ - "OtaHotelPostEventNotifRq.EventReports.EventReport" - ] = field( + event_report: list["OtaHotelPostEventNotifRq.EventReports.EventReport"] = field( default_factory=list, metadata={ "name": "EventReport", @@ -5630,14 +5520,12 @@ class OtaHotelPostEventNotifRq(BaseModel): "required": True, } ) - end: Optional[Union[XmlDate, XmlDateTime, XmlTime]] = ( - field( - default=None, - metadata={ - "name": "End", - "type": "Attribute", - }, - ) + end: Optional[Union[XmlDate, XmlDateTime, XmlTime]] = field( + default=None, + metadata={ + "name": "End", + "type": "Attribute", + }, ) class EndDateWindow(BaseModel): @@ -5992,9 +5880,7 @@ class OtaHotelRatePlanNotifRq(BaseModel): "type": "Element", }, ) - rates: Optional[ - "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates" - ] = field( + rates: Optional["OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates"] = field( default=None, metadata={ "name": "Rates", @@ -6010,14 +5896,14 @@ class OtaHotelRatePlanNotifRq(BaseModel): "type": "Element", }, ) - offers: Optional[ - "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers" - ] = field( - default=None, - metadata={ - "name": "Offers", - "type": "Element", - }, + offers: Optional["OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Offers"] = ( + field( + default=None, + metadata={ + "name": "Offers", + "type": "Element", + }, + ) ) description: list[ "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Description" @@ -6210,12 +6096,14 @@ class OtaHotelRatePlanNotifRq(BaseModel): "required": True, } ) - min_max_message_type: LengthOfStayMinMaxMessageType1 = field( - metadata={ - "name": "MinMaxMessageType", - "type": "Attribute", - "required": True, - } + min_max_message_type: LengthOfStayMinMaxMessageType1 = ( + field( + metadata={ + "name": "MinMaxMessageType", + "type": "Attribute", + "required": True, + } + ) ) class DowRestrictions(BaseModel): @@ -6359,14 +6247,12 @@ class OtaHotelRatePlanNotifRq(BaseModel): class RestrictionStatus(BaseModel): model_config = ConfigDict(defer_build=True) - restriction: Optional[RestrictionStatusRestriction] = ( - field( - default=None, - metadata={ - "name": "Restriction", - "type": "Attribute", - }, - ) + restriction: Optional[RestrictionStatusRestriction] = field( + default=None, + metadata={ + "name": "Restriction", + "type": "Attribute", + }, ) status: Optional[RestrictionStatusStatus] = field( default=None, @@ -6378,15 +6264,15 @@ class OtaHotelRatePlanNotifRq(BaseModel): class Rates(BaseModel): model_config = ConfigDict(defer_build=True) - rate: list[ - "OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate" - ] = field( - default_factory=list, - metadata={ - "name": "Rate", - "type": "Element", - "min_occurs": 1, - }, + rate: list["OtaHotelRatePlanNotifRq.RatePlans.RatePlan.Rates.Rate"] = ( + field( + default_factory=list, + metadata={ + "name": "Rate", + "type": "Element", + "min_occurs": 1, + }, + ) ) class Rate(BaseModel): @@ -6718,9 +6604,7 @@ class OtaHotelRatePlanNotifRq(BaseModel): "pattern": r"\S+", }, ) - meal_plan_codes: Optional[ - MealsIncludedMealPlanCodes - ] = field( + meal_plan_codes: Optional[MealsIncludedMealPlanCodes] = field( default=None, metadata={ "name": "MealPlanCodes", @@ -6780,14 +6664,12 @@ class OtaHotelRatePlanNotifRq(BaseModel): "type": "Attribute", }, ) - charge_type_code: Optional[SupplementChargeTypeCode] = ( - field( - default=None, - metadata={ - "name": "ChargeTypeCode", - "type": "Attribute", - }, - ) + charge_type_code: Optional[SupplementChargeTypeCode] = field( + default=None, + metadata={ + "name": "ChargeTypeCode", + "type": "Attribute", + }, ) amount: Optional[str] = field( default=None, @@ -7319,12 +7201,14 @@ class OtaHotelRatePlanNotifRq(BaseModel): "pattern": r"[0-9]+", } ) - first_qualifying_position: GuestFirstQualifyingPosition = field( - metadata={ - "name": "FirstQualifyingPosition", - "type": "Attribute", - "required": True, - } + first_qualifying_position: GuestFirstQualifyingPosition = ( + field( + metadata={ + "name": "FirstQualifyingPosition", + "type": "Attribute", + "required": True, + } + ) ) last_qualifying_position: str = field( metadata={ @@ -7716,14 +7600,12 @@ class OtaHotelRatePlanRs(BaseModel): "type": "Element", }, ) - rates: Optional["OtaHotelRatePlanRs.RatePlans.RatePlan.Rates"] = ( - field( - default=None, - metadata={ - "name": "Rates", - "type": "Element", - }, - ) + rates: Optional["OtaHotelRatePlanRs.RatePlans.RatePlan.Rates"] = field( + default=None, + metadata={ + "name": "Rates", + "type": "Element", + }, ) supplements: Optional[ "OtaHotelRatePlanRs.RatePlans.RatePlan.Supplements" @@ -7734,24 +7616,22 @@ class OtaHotelRatePlanRs(BaseModel): "type": "Element", }, ) - offers: Optional[ - "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers" - ] = field( + offers: Optional["OtaHotelRatePlanRs.RatePlans.RatePlan.Offers"] = field( default=None, metadata={ "name": "Offers", "type": "Element", }, ) - description: list[ - "OtaHotelRatePlanRs.RatePlans.RatePlan.Description" - ] = field( - default_factory=list, - metadata={ - "name": "Description", - "type": "Element", - "max_occurs": 5, - }, + description: list["OtaHotelRatePlanRs.RatePlans.RatePlan.Description"] = ( + field( + default_factory=list, + metadata={ + "name": "Description", + "type": "Element", + "max_occurs": 5, + }, + ) ) start: Optional[str] = field( default=None, @@ -7934,12 +7814,14 @@ class OtaHotelRatePlanRs(BaseModel): "required": True, } ) - min_max_message_type: LengthOfStayMinMaxMessageType1 = field( - metadata={ - "name": "MinMaxMessageType", - "type": "Attribute", - "required": True, - } + min_max_message_type: LengthOfStayMinMaxMessageType1 = ( + field( + metadata={ + "name": "MinMaxMessageType", + "type": "Attribute", + "required": True, + } + ) ) class DowRestrictions(BaseModel): @@ -8083,14 +7965,12 @@ class OtaHotelRatePlanRs(BaseModel): class RestrictionStatus(BaseModel): model_config = ConfigDict(defer_build=True) - restriction: Optional[RestrictionStatusRestriction] = ( - field( - default=None, - metadata={ - "name": "Restriction", - "type": "Attribute", - }, - ) + restriction: Optional[RestrictionStatusRestriction] = field( + default=None, + metadata={ + "name": "Restriction", + "type": "Attribute", + }, ) status: Optional[RestrictionStatusStatus] = field( default=None, @@ -8102,9 +7982,7 @@ class OtaHotelRatePlanRs(BaseModel): class Rates(BaseModel): model_config = ConfigDict(defer_build=True) - rate: list[ - "OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate" - ] = field( + rate: list["OtaHotelRatePlanRs.RatePlans.RatePlan.Rates.Rate"] = field( default_factory=list, metadata={ "name": "Rate", @@ -8442,9 +8320,7 @@ class OtaHotelRatePlanRs(BaseModel): "pattern": r"\S+", }, ) - meal_plan_codes: Optional[ - MealsIncludedMealPlanCodes - ] = field( + meal_plan_codes: Optional[MealsIncludedMealPlanCodes] = field( default=None, metadata={ "name": "MealPlanCodes", @@ -8504,14 +8380,12 @@ class OtaHotelRatePlanRs(BaseModel): "type": "Attribute", }, ) - charge_type_code: Optional[SupplementChargeTypeCode] = ( - field( - default=None, - metadata={ - "name": "ChargeTypeCode", - "type": "Attribute", - }, - ) + charge_type_code: Optional[SupplementChargeTypeCode] = field( + default=None, + metadata={ + "name": "ChargeTypeCode", + "type": "Attribute", + }, ) amount: Optional[str] = field( default=None, @@ -8652,16 +8526,16 @@ class OtaHotelRatePlanRs(BaseModel): class Offers(BaseModel): model_config = ConfigDict(defer_build=True) - offer: list[ - "OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer" - ] = field( - default_factory=list, - metadata={ - "name": "Offer", - "type": "Element", - "min_occurs": 1, - "max_occurs": 3, - }, + offer: list["OtaHotelRatePlanRs.RatePlans.RatePlan.Offers.Offer"] = ( + field( + default_factory=list, + metadata={ + "name": "Offer", + "type": "Element", + "min_occurs": 1, + "max_occurs": 3, + }, + ) ) class Offer(BaseModel): @@ -9043,12 +8917,14 @@ class OtaHotelRatePlanRs(BaseModel): "pattern": r"[0-9]+", } ) - first_qualifying_position: GuestFirstQualifyingPosition = field( - metadata={ - "name": "FirstQualifyingPosition", - "type": "Attribute", - "required": True, - } + first_qualifying_position: GuestFirstQualifyingPosition = ( + field( + metadata={ + "name": "FirstQualifyingPosition", + "type": "Attribute", + "required": True, + } + ) ) last_qualifying_position: str = field( metadata={ @@ -9077,14 +8953,14 @@ class OtaHotelRatePlanRs(BaseModel): "pattern": r"https?://.+", }, ) - text: list[ - "OtaHotelRatePlanRs.RatePlans.RatePlan.Description.Text" - ] = field( - default_factory=list, - metadata={ - "name": "Text", - "type": "Element", - }, + text: list["OtaHotelRatePlanRs.RatePlans.RatePlan.Description.Text"] = ( + field( + default_factory=list, + metadata={ + "name": "Text", + "type": "Element", + }, + ) ) url: list[str] = field( default_factory=list, @@ -9479,22 +9355,22 @@ class OtaHotelResNotifRq(BaseModel): class MealsIncluded(BaseModel): model_config = ConfigDict(defer_build=True) - meal_plan_indicator: MealsIncludedMealPlanIndicator = field( - metadata={ - "name": "MealPlanIndicator", - "type": "Attribute", - "required": True, - } - ) - meal_plan_codes: MealsIncludedMealPlanCodes = ( + meal_plan_indicator: MealsIncludedMealPlanIndicator = ( field( metadata={ - "name": "MealPlanCodes", + "name": "MealPlanIndicator", "type": "Attribute", "required": True, } ) ) + meal_plan_codes: MealsIncludedMealPlanCodes = field( + metadata={ + "name": "MealPlanCodes", + "type": "Attribute", + "required": True, + } + ) class RoomRates(BaseModel): model_config = ConfigDict(defer_build=True) @@ -9575,9 +9451,7 @@ class OtaHotelResNotifRq(BaseModel): "pattern": r"\S+", }, ) - expire_date_exclusive_ind: Optional[ - str - ] = field( + expire_date_exclusive_ind: Optional[str] = field( default=None, metadata={ "name": "ExpireDateExclusiveInd", @@ -9585,9 +9459,7 @@ class OtaHotelResNotifRq(BaseModel): "pattern": r"\S+", }, ) - rate_time_unit: Optional[ - RateRateTimeUnit - ] = field( + rate_time_unit: Optional[RateRateTimeUnit] = field( default=None, metadata={ "name": "RateTimeUnit", @@ -9604,19 +9476,15 @@ class OtaHotelResNotifRq(BaseModel): ) class Base(BaseModel): - model_config = ConfigDict( - defer_build=True - ) - amount_after_tax: Optional[str] = ( - field( - default=None, - metadata={ - "name": "AmountAfterTax", - "type": "Attribute", - "min_exclusive": "0.0", - "pattern": r"[0-9]*\.?[0-9]*", - }, - ) + model_config = ConfigDict(defer_build=True) + amount_after_tax: Optional[str] = field( + default=None, + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, ) currency_code: Optional[str] = field( default=None, @@ -9781,9 +9649,7 @@ class OtaHotelResNotifRq(BaseModel): ) class CardNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: Optional[str] = field( default=None, metadata={ @@ -9800,15 +9666,13 @@ class OtaHotelResNotifRq(BaseModel): "min_length": 1, }, ) - encryption_method: Optional[str] = ( - field( - default=None, - metadata={ - "name": "EncryptionMethod", - "type": "Attribute", - "min_length": 1, - }, - ) + encryption_method: Optional[str] = field( + default=None, + metadata={ + "name": "EncryptionMethod", + "type": "Attribute", + "min_length": 1, + }, ) class Total(BaseModel): @@ -10236,9 +10100,7 @@ class OtaHotelResNotifRq(BaseModel): ) class PersonName(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) name_prefix: Optional[str] = field( default=None, metadata={ @@ -10277,9 +10139,7 @@ class OtaHotelResNotifRq(BaseModel): ) class Telephone(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) phone_tech_type: Optional[str] = field( default=None, metadata={ @@ -10298,9 +10158,7 @@ class OtaHotelResNotifRq(BaseModel): ) class Email(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -10318,9 +10176,7 @@ class OtaHotelResNotifRq(BaseModel): ) class Address(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) address_line: Optional[str] = field( default=None, metadata={ @@ -10367,9 +10223,7 @@ class OtaHotelResNotifRq(BaseModel): ) class CountryName(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) code: str = field( metadata={ "name": "Code", @@ -10666,9 +10520,7 @@ class OtaHotelResNotifRq(BaseModel): "type": "Attribute", }, ) - payment_transaction_type_code: Optional[ - object - ] = field( + payment_transaction_type_code: Optional[object] = field( default=None, metadata={ "name": "PaymentTransactionTypeCode", @@ -10714,9 +10566,7 @@ class OtaHotelResNotifRq(BaseModel): ) class CardNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) mask: Optional[str] = field( default=None, metadata={ @@ -10733,15 +10583,13 @@ class OtaHotelResNotifRq(BaseModel): "pattern": r"[0-9a-zA-Z]{1,32}", }, ) - token_provider_id: Optional[str] = ( - field( - default=None, - metadata={ - "name": "TokenProviderID", - "type": "Attribute", - "min_length": 1, - }, - ) + token_provider_id: Optional[str] = field( + default=None, + metadata={ + "name": "TokenProviderID", + "type": "Attribute", + "min_length": 1, + }, ) class BankAcct(BaseModel): @@ -10764,9 +10612,7 @@ class OtaHotelResNotifRq(BaseModel): ) class BankAcctNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: str = field( metadata={ "name": "PlainText", @@ -11044,9 +10890,7 @@ class OtaHotelResNotifRq(BaseModel): ) class CountryName(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) code: str = field( metadata={ "name": "Code", @@ -11124,14 +10968,12 @@ class OtaHotelResNotifRs(BaseModel): "type": "Element", }, ) - hotel_reservations: Optional["OtaHotelResNotifRs.HotelReservations"] = ( - field( - default=None, - metadata={ - "name": "HotelReservations", - "type": "Element", - }, - ) + hotel_reservations: Optional["OtaHotelResNotifRs.HotelReservations"] = field( + default=None, + metadata={ + "name": "HotelReservations", + "type": "Element", + }, ) version: object = field( metadata={ @@ -11874,12 +11716,14 @@ class OtaResRetrieveRs(BaseModel): class HotelReservation(BaseModel): model_config = ConfigDict(defer_build=True) - unique_id: "OtaResRetrieveRs.ReservationsList.HotelReservation.UniqueId" = field( - metadata={ - "name": "UniqueID", - "type": "Element", - "required": True, - } + unique_id: "OtaResRetrieveRs.ReservationsList.HotelReservation.UniqueId" = ( + field( + metadata={ + "name": "UniqueID", + "type": "Element", + "required": True, + } + ) ) room_stays: Optional[ "OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays" @@ -12183,22 +12027,22 @@ class OtaResRetrieveRs(BaseModel): class MealsIncluded(BaseModel): model_config = ConfigDict(defer_build=True) - meal_plan_indicator: MealsIncludedMealPlanIndicator = field( - metadata={ - "name": "MealPlanIndicator", - "type": "Attribute", - "required": True, - } - ) - meal_plan_codes: MealsIncludedMealPlanCodes = ( + meal_plan_indicator: MealsIncludedMealPlanIndicator = ( field( metadata={ - "name": "MealPlanCodes", + "name": "MealPlanIndicator", "type": "Attribute", "required": True, } ) ) + meal_plan_codes: MealsIncludedMealPlanCodes = field( + metadata={ + "name": "MealPlanCodes", + "type": "Attribute", + "required": True, + } + ) class RoomRates(BaseModel): model_config = ConfigDict(defer_build=True) @@ -12279,9 +12123,7 @@ class OtaResRetrieveRs(BaseModel): "pattern": r"\S+", }, ) - expire_date_exclusive_ind: Optional[ - str - ] = field( + expire_date_exclusive_ind: Optional[str] = field( default=None, metadata={ "name": "ExpireDateExclusiveInd", @@ -12289,9 +12131,7 @@ class OtaResRetrieveRs(BaseModel): "pattern": r"\S+", }, ) - rate_time_unit: Optional[ - RateRateTimeUnit - ] = field( + rate_time_unit: Optional[RateRateTimeUnit] = field( default=None, metadata={ "name": "RateTimeUnit", @@ -12308,19 +12148,15 @@ class OtaResRetrieveRs(BaseModel): ) class Base(BaseModel): - model_config = ConfigDict( - defer_build=True - ) - amount_after_tax: Optional[str] = ( - field( - default=None, - metadata={ - "name": "AmountAfterTax", - "type": "Attribute", - "min_exclusive": "0.0", - "pattern": r"[0-9]*\.?[0-9]*", - }, - ) + model_config = ConfigDict(defer_build=True) + amount_after_tax: Optional[str] = field( + default=None, + metadata={ + "name": "AmountAfterTax", + "type": "Attribute", + "min_exclusive": "0.0", + "pattern": r"[0-9]*\.?[0-9]*", + }, ) currency_code: Optional[str] = field( default=None, @@ -12485,9 +12321,7 @@ class OtaResRetrieveRs(BaseModel): ) class CardNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: Optional[str] = field( default=None, metadata={ @@ -12504,15 +12338,13 @@ class OtaResRetrieveRs(BaseModel): "min_length": 1, }, ) - encryption_method: Optional[str] = ( - field( - default=None, - metadata={ - "name": "EncryptionMethod", - "type": "Attribute", - "min_length": 1, - }, - ) + encryption_method: Optional[str] = field( + default=None, + metadata={ + "name": "EncryptionMethod", + "type": "Attribute", + "min_length": 1, + }, ) class Total(BaseModel): @@ -12940,9 +12772,7 @@ class OtaResRetrieveRs(BaseModel): ) class PersonName(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) name_prefix: Optional[str] = field( default=None, metadata={ @@ -12981,9 +12811,7 @@ class OtaResRetrieveRs(BaseModel): ) class Telephone(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) phone_tech_type: Optional[str] = field( default=None, metadata={ @@ -13002,9 +12830,7 @@ class OtaResRetrieveRs(BaseModel): ) class Email(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) value: str = field( default="", metadata={ @@ -13022,9 +12848,7 @@ class OtaResRetrieveRs(BaseModel): ) class Address(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) address_line: Optional[str] = field( default=None, metadata={ @@ -13071,9 +12895,7 @@ class OtaResRetrieveRs(BaseModel): ) class CountryName(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) code: str = field( metadata={ "name": "Code", @@ -13370,9 +13192,7 @@ class OtaResRetrieveRs(BaseModel): "type": "Attribute", }, ) - payment_transaction_type_code: Optional[ - object - ] = field( + payment_transaction_type_code: Optional[object] = field( default=None, metadata={ "name": "PaymentTransactionTypeCode", @@ -13418,9 +13238,7 @@ class OtaResRetrieveRs(BaseModel): ) class CardNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) mask: Optional[str] = field( default=None, metadata={ @@ -13437,15 +13255,13 @@ class OtaResRetrieveRs(BaseModel): "pattern": r"[0-9a-zA-Z]{1,32}", }, ) - token_provider_id: Optional[str] = ( - field( - default=None, - metadata={ - "name": "TokenProviderID", - "type": "Attribute", - "min_length": 1, - }, - ) + token_provider_id: Optional[str] = field( + default=None, + metadata={ + "name": "TokenProviderID", + "type": "Attribute", + "min_length": 1, + }, ) class BankAcct(BaseModel): @@ -13468,9 +13284,7 @@ class OtaResRetrieveRs(BaseModel): ) class BankAcctNumber(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) plain_text: str = field( metadata={ "name": "PlainText", @@ -13748,9 +13562,7 @@ class OtaResRetrieveRs(BaseModel): ) class CountryName(BaseModel): - model_config = ConfigDict( - defer_build=True - ) + model_config = ConfigDict(defer_build=True) code: str = field( metadata={ "name": "Code", diff --git a/src/main.py b/src/main.py index 42eef3b..0383495 100644 --- a/src/main.py +++ b/src/main.py @@ -6,26 +6,9 @@ from datetime import datetime, timezone import re from xsdata_pydantic.bindings import XmlSerializer -def validate_gender(gender: str) -> str: - """Validate gender field against the pattern (Unknown|Male|Female)""" - if gender and not re.match(r"^(Unknown|Male|Female)$", gender): - raise ValueError(f"Invalid gender value: '{gender}'. Must be one of: Unknown, Male, Female") - return gender +from simplified_access import CustomerData, CustomerFactory, PhoneTechType + -def validate_dataclass_patterns(obj) -> None: - """Custom validation function to check pattern constraints""" - # Add validation for known pattern fields - if hasattr(obj, 'gender') and obj.gender: - validate_gender(obj.gender) - - # Recursively validate nested objects - for field_name, field_value in vars(obj).items(): - if hasattr(field_value, '__dataclass_fields__'): - validate_dataclass_patterns(field_value) - elif isinstance(field_value, list): - for item in field_value: - if hasattr(item, '__dataclass_fields__'): - validate_dataclass_patterns(item) def main(): # Success - use None instead of object() for cleaner XML output @@ -33,41 +16,70 @@ def main(): # UniqueID unique_id = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.UniqueId( - type_value=ab.UniqueIdType2.VALUE_14, - id="6b34fe24ac2ff811" + type_value=ab.UniqueIdType2.VALUE_14, id="6b34fe24ac2ff811" ) # TimeSpan - use the actual nested class - time_span = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.TimeSpan() + + start_date_window = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.TimeSpan.StartDateWindow( + earliest_date="2024-10-01", latest_date="2024-10-02" + ) + + time_span = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay.TimeSpan( + start_date_window=start_date_window + ) # RoomStay with TimeSpan - room_stay = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay( - time_span=time_span + room_stay = ( + ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays.RoomStay( + time_span=time_span + ) ) room_stays = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.RoomStays( room_stay=[room_stay] ) + customer_data = CustomerData( + given_name="John", + surname="Doe", + name_prefix="Mr.", + phone_numbers=[ + ("+1234567890", PhoneTechType.MOBILE), # Phone number with type + ("+0987654321", None) # Phone number without type + ], + email_address="john.doe@example.com", + email_newsletter=True, + address_line="123 Main Street", + city_name="Anytown", + postal_code="12345", + country_code="US", + address_catalog=False, + gender="Male", + birth_date="1980-01-01", + language="en" + ) + + retrieve_customer = CustomerFactory.create_retrieve_customer(customer_data) + profile = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile( - customer=ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer( - person_name=ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer.PersonName( - given_name="John", - surname="Doe" - ) - ) + customer=retrieve_customer ) # Use the actual nested Profiles class - profile_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo( - profile=profile) + profile=profile + ) - profiles = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles(profile_info=profile_info) + profiles = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles( + profile_info=profile_info + ) # ResGuest - res_guest = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest( - profiles=profiles + res_guest = ( + ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest( + profiles=profiles + ) ) res_guests = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests( res_guest=res_guest @@ -75,19 +87,23 @@ def main(): # Use the actual nested HotelReservationIds class hotel_res_ids = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds( - hotel_reservation_id=[] + hotel_reservation_id = [ + ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId( + res_id_type="13", res_id_source_context="99tales" + ) + ] ) # Basic property info basic_property_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.BasicPropertyInfo( - hotel_code="123", - hotel_name="Frangart Inn" + hotel_code="123", hotel_name="Frangart Inn" ) # ResGlobalInfo - res_global_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo( - hotel_reservation_ids=hotel_res_ids, - basic_property_info=basic_property_info + res_global_info = ( + ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo( + hotel_reservation_ids=hotel_res_ids, basic_property_info=basic_property_info + ) ) # Hotel Reservation @@ -98,16 +114,16 @@ def main(): unique_id=unique_id, room_stays=room_stays, res_guests=res_guests, - res_global_info=res_global_info + res_global_info=res_global_info, ) - reservations_list = ab.OtaResRetrieveRs.ReservationsList(hotel_reservation=[hotel_reservation]) + reservations_list = ab.OtaResRetrieveRs.ReservationsList( + hotel_reservation=[hotel_reservation] + ) # Root element ota_res_retrieve_rs = ab.OtaResRetrieveRs( - version="7.000", - success=success, - reservations_list=reservations_list + version="7.000", success=success, reservations_list=reservations_list ) # Serialize using Pydantic's model_dump and convert to XML @@ -115,46 +131,49 @@ def main(): # First validate the model ota_res_retrieve_rs.model_validate(ota_res_retrieve_rs.model_dump()) print("โœ… Pydantic validation successful!") - + # For XML serialization with Pydantic models, we need to use xsdata-pydantic serializer from xsdata.formats.dataclass.serializers.config import SerializerConfig - + config = SerializerConfig( - pretty_print=True, - xml_declaration=True, - encoding="UTF-8" + pretty_print=True, xml_declaration=True, encoding="UTF-8" ) - + serializer = XmlSerializer(config=config) - + # Use ns_map to control namespace prefixes - set default namespace ns_map = {None: "http://www.opentravel.org/OTA/2003/05"} xml_string = serializer.render(ota_res_retrieve_rs, ns_map=ns_map) - - with open('output.xml', 'w', encoding='utf-8') as outfile: + + with open("output.xml", "w", encoding="utf-8") as outfile: outfile.write(xml_string) - + print("โœ… XML serialization successful!") print(f"Generated XML written to output.xml") - + # Also print the pretty formatted XML to console print("\n๐Ÿ“„ Generated XML:") print(xml_string) # Test parsing back from xsdata_pydantic.bindings import XmlParser + parser = XmlParser() - - with open('output.xml', 'r', encoding='utf-8') as infile: + + with open("output.xml", "r", encoding="utf-8") as infile: xml_content = infile.read() - + parsed_result = parser.from_string(xml_content, ab.OtaResRetrieveRs) - print("โœ… Round-trip validation successful!") - print(f"Parsed reservation status: {parsed_result.reservations_list.hotel_reservation[0].res_status}") + + print("โœ… Round-trip validation successful!") + print( + f"Parsed reservation status: {parsed_result.reservations_list.hotel_reservation[0].res_status}" + ) + except Exception as e: print(f"โŒ Validation/Serialization failed: {e}") if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/src/output.xml b/src/output.xml index 8b22f0d..5dc9741 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,11 +1,13 @@ - + - + + + @@ -13,11 +15,21 @@ - + + Mr. John Doe + + + john.doe@example.com +

+ 123 Main Street + Anytown + 12345 + +
@@ -25,7 +37,9 @@ - + + +
diff --git a/src/simplified_access.py b/src/simplified_access.py new file mode 100644 index 0000000..05134fb --- /dev/null +++ b/src/simplified_access.py @@ -0,0 +1,230 @@ +from typing import Union, Optional, Any, TypeVar +from pydantic import BaseModel, ConfigDict, Field +from dataclasses import dataclass +from enum import Enum + +# Import the generated classes +from generated.alpinebits import OtaHotelResNotifRq, OtaResRetrieveRs + +# Define type aliases for the two Customer types +NotifCustomer = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer +RetrieveCustomer = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer + + +# phonetechtype enum 1,3,5 voice, fax, mobile +class PhoneTechType(Enum): + VOICE = "1" + FAX = "3" + MOBILE = "5" + + + + +@dataclass +class CustomerData: + """Simple data class to hold customer information without nested type constraints.""" + given_name: str + surname: str + name_prefix: None | str = None + name_title: None | str = None + phone_numbers: list[tuple[str, None | PhoneTechType]] = None # (phone_number, phone_tech_type) + email_address: None | str = None + email_newsletter: None | bool = None # True for "yes", False for "no", None for not specified + address_line: None | str = None + city_name: None | str = None + postal_code: None | str = None + country_code: None | str = None # Two-letter country code + address_catalog: None | bool = None # True for "yes", False for "no", None for not specified + gender: None | str = None # "Unknown", "Male", "Female" + birth_date: None | str = None + language: None | str = None # Two-letter language code + + def __post_init__(self): + if self.phone_numbers is None: + self.phone_numbers = [] + + +class CustomerFactory: + """Factory class to create Customer instances for both OtaHotelResNotifRq and OtaResRetrieveRs.""" + + @staticmethod + def create_notif_customer(data: CustomerData) -> NotifCustomer: + """Create a Customer for OtaHotelResNotifRq.""" + return CustomerFactory._create_customer(NotifCustomer, data) + + @staticmethod + def create_retrieve_customer(data: CustomerData) -> RetrieveCustomer: + """Create a Customer for OtaResRetrieveRs.""" + return CustomerFactory._create_customer(RetrieveCustomer, data) + + @staticmethod + def _create_customer(customer_class: type, data: CustomerData) -> Any: + """Internal method to create a customer of the specified type.""" + + # Create PersonName + person_name = customer_class.PersonName( + given_name=data.given_name, + surname=data.surname, + name_prefix=data.name_prefix, + name_title=data.name_title + ) + + # Create telephone list + telephones = [] + for phone_number, phone_tech_type in data.phone_numbers: + telephone = customer_class.Telephone( + phone_number=phone_number, + phone_tech_type=phone_tech_type.value if phone_tech_type else None + ) + telephones.append(telephone) + + # Create email if provided + email = None + if data.email_address: + remark = None + if data.email_newsletter is not None: + remark = f"newsletter:{'yes' if data.email_newsletter else 'no'}" + + email = customer_class.Email( + value=data.email_address, + remark=remark + ) + + # Create address if any address fields are provided + address = None + if any([data.address_line, data.city_name, data.postal_code, data.country_code]): + country_name = None + if data.country_code: + country_name = customer_class.Address.CountryName(code=data.country_code) + + address_remark = None + if data.address_catalog is not None: + address_remark = f"catalog:{'yes' if data.address_catalog else 'no'}" + + address = customer_class.Address( + address_line=data.address_line, + city_name=data.city_name, + postal_code=data.postal_code, + country_name=country_name, + remark=address_remark + ) + + # Create the customer + return customer_class( + person_name=person_name, + telephone=telephones, + email=email, + address=address, + gender=data.gender, + birth_date=data.birth_date, + language=data.language + ) + + @staticmethod + def from_notif_customer(customer: NotifCustomer) -> CustomerData: + """Convert a NotifCustomer back to CustomerData.""" + return CustomerFactory._customer_to_data(customer) + + @staticmethod + def from_retrieve_customer(customer: RetrieveCustomer) -> CustomerData: + """Convert a RetrieveCustomer back to CustomerData.""" + return CustomerFactory._customer_to_data(customer) + + @staticmethod + def _customer_to_data(customer: Any) -> CustomerData: + """Internal method to convert any customer type to CustomerData.""" + + # Extract phone numbers + phone_numbers = [] + if customer.telephone: + for tel in customer.telephone: + phone_numbers.append((tel.phone_number, tel.phone_tech_type)) + + # Extract email info + email_address = None + email_newsletter = None + if customer.email: + email_address = customer.email.value + if customer.email.remark: + if "newsletter:yes" in customer.email.remark: + email_newsletter = True + elif "newsletter:no" in customer.email.remark: + email_newsletter = False + + # Extract address info + address_line = None + city_name = None + postal_code = None + country_code = None + address_catalog = None + + if customer.address: + address_line = customer.address.address_line + city_name = customer.address.city_name + postal_code = customer.address.postal_code + + if customer.address.country_name: + country_code = customer.address.country_name.code + + if customer.address.remark: + if "catalog:yes" in customer.address.remark: + address_catalog = True + elif "catalog:no" in customer.address.remark: + address_catalog = False + + return CustomerData( + given_name=customer.person_name.given_name, + surname=customer.person_name.surname, + name_prefix=customer.person_name.name_prefix, + name_title=customer.person_name.name_title, + phone_numbers=phone_numbers, + email_address=email_address, + email_newsletter=email_newsletter, + address_line=address_line, + city_name=city_name, + postal_code=postal_code, + country_code=country_code, + address_catalog=address_catalog, + gender=customer.gender, + birth_date=customer.birth_date, + language=customer.language + ) + + +# Usage examples +if __name__ == "__main__": + # Create customer data using simple data class + customer_data = CustomerData( + given_name="John", + surname="Doe", + name_prefix="Mr.", + phone_numbers=[ + ("+1234567890", PhoneTechType.MOBILE), # Phone number with type + ("+0987654321", None) # Phone number without type + ], + email_address="john.doe@example.com", + email_newsletter=True, + address_line="123 Main Street", + city_name="Anytown", + postal_code="12345", + country_code="US", + address_catalog=False, + gender="Male", + birth_date="1980-01-01", + language="en" + ) + + # Create customer for OtaHotelResNotifRq + notif_customer = CustomerFactory.create_notif_customer(customer_data) + print("Created NotifCustomer:", notif_customer.person_name.given_name, notif_customer.person_name.surname) + + # Create customer for OtaResRetrieveRs + retrieve_customer = CustomerFactory.create_retrieve_customer(customer_data) + print("Created RetrieveCustomer:", retrieve_customer.person_name.given_name, retrieve_customer.person_name.surname) + + # Convert back to data class + converted_data = CustomerFactory.from_notif_customer(notif_customer) + print("Converted back to data:", converted_data.given_name, converted_data.surname) + + # Verify they contain the same information + print("Original and converted data match:", customer_data == converted_data) \ No newline at end of file diff --git a/uv.lock b/uv.lock index b629a27..f494359 100644 --- a/uv.lock +++ b/uv.lock @@ -9,6 +9,7 @@ source = { virtual = "." } dependencies = [ { name = "generateds" }, { name = "lxml" }, + { name = "ruff" }, { name = "xsdata", extra = ["cli", "lxml", "soap"] }, { name = "xsdata-pydantic", extra = ["cli", "lxml", "soap"] }, ] @@ -17,6 +18,7 @@ dependencies = [ requires-dist = [ { name = "generateds", specifier = ">=2.44.3" }, { name = "lxml", specifier = ">=6.0.1" }, + { name = "ruff", specifier = ">=0.13.1" }, { name = "xsdata", extras = ["cli", "lxml", "soap"], specifier = ">=25.7" }, { name = "xsdata-pydantic", extras = ["cli", "lxml", "soap"], specifier = ">=24.5" }, ] From 04f5fce3ec1b6671a70f616916b7eed7aba20558 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 14:51:24 +0200 Subject: [PATCH 05/16] Fixed other direction of customer class --- src/simplified_access.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/simplified_access.py b/src/simplified_access.py index 05134fb..e5f11b1 100644 --- a/src/simplified_access.py +++ b/src/simplified_access.py @@ -138,7 +138,7 @@ class CustomerFactory: phone_numbers = [] if customer.telephone: for tel in customer.telephone: - phone_numbers.append((tel.phone_number, tel.phone_tech_type)) + phone_numbers.append((tel.phone_number, PhoneTechType(tel.phone_tech_type) if tel.phone_tech_type else None)) # Extract email info email_address = None From b0bd77b3c69c3947fc1cd1b92316202d2f982a42 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 15:07:18 +0200 Subject: [PATCH 06/16] Simplified resGuest creation --- .vscode/settings.json | 7 + pyproject.toml | 1 + src/main.py | 27 +-- src/output.xml | 2 +- src/simplified_access.py | 93 ++++++++- test/test_simplified_access.py | 348 +++++++++++++++++++++++++++++++++ uv.lock | 54 +++++ 7 files changed, 507 insertions(+), 25 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 test/test_simplified_access.py diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b2b8866 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "python.testing.pytestArgs": [ + "test" + ], + "python.testing.unittestEnabled": false, + "python.testing.pytestEnabled": true +} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index e8dfcdd..0422b39 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,6 +7,7 @@ requires-python = ">=3.13" dependencies = [ "generateds>=2.44.3", "lxml>=6.0.1", + "pytest>=8.4.2", "ruff>=0.13.1", "xsdata-pydantic[cli,lxml,soap]>=24.5", "xsdata[cli,lxml,soap]>=25.7", diff --git a/src/main.py b/src/main.py index 0383495..c2a4ade 100644 --- a/src/main.py +++ b/src/main.py @@ -6,7 +6,7 @@ from datetime import datetime, timezone import re from xsdata_pydantic.bindings import XmlSerializer -from simplified_access import CustomerData, CustomerFactory, PhoneTechType +from simplified_access import CustomerData, CustomerFactory, PhoneTechType, ResGuestFactory @@ -59,31 +59,12 @@ def main(): language="en" ) - retrieve_customer = CustomerFactory.create_retrieve_customer(customer_data) + - profile = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile( - customer=retrieve_customer - ) + res_guests = ResGuestFactory.create_retrieve_res_guests(customer_data) - # Use the actual nested Profiles class + - profile_info = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo( - profile=profile - ) - - profiles = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles( - profile_info=profile_info - ) - - # ResGuest - res_guest = ( - ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest( - profiles=profiles - ) - ) - res_guests = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests( - res_guest=res_guest - ) # Use the actual nested HotelReservationIds class hotel_res_ids = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds( diff --git a/src/output.xml b/src/output.xml index 5dc9741..a54d587 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,7 +1,7 @@ - + diff --git a/src/simplified_access.py b/src/simplified_access.py index e5f11b1..336c53a 100644 --- a/src/simplified_access.py +++ b/src/simplified_access.py @@ -191,6 +191,78 @@ class CustomerFactory: ) +# Define type aliases for ResGuests types +NotifResGuests = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests +RetrieveResGuests = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests + + +class ResGuestFactory: + """Factory class to create complete ResGuests structures with a primary customer.""" + + @staticmethod + def create_notif_res_guests(customer_data: CustomerData) -> NotifResGuests: + """Create a complete ResGuests structure for OtaHotelResNotifRq with primary customer.""" + return ResGuestFactory._create_res_guests( + NotifResGuests, + NotifCustomer, + customer_data + ) + + @staticmethod + def create_retrieve_res_guests(customer_data: CustomerData) -> RetrieveResGuests: + """Create a complete ResGuests structure for OtaResRetrieveRs with primary customer.""" + return ResGuestFactory._create_res_guests( + RetrieveResGuests, + RetrieveCustomer, + customer_data + ) + + @staticmethod + def _create_res_guests(res_guests_class: type, customer_class: type, customer_data: CustomerData) -> Any: + """Internal method to create complete ResGuests structure.""" + + # Create the customer using the existing CustomerFactory + customer = CustomerFactory._create_customer(customer_class, customer_data) + + # Create Profile with the customer + profile = res_guests_class.ResGuest.Profiles.ProfileInfo.Profile( + customer=customer + ) + + # Create ProfileInfo with the profile + profile_info = res_guests_class.ResGuest.Profiles.ProfileInfo( + profile=profile + ) + + # Create Profiles with the profile_info + profiles = res_guests_class.ResGuest.Profiles( + profile_info=profile_info + ) + + # Create ResGuest with the profiles + res_guest = res_guests_class.ResGuest( + profiles=profiles + ) + + # Create ResGuests with the res_guest + return res_guests_class( + res_guest=res_guest + ) + + @staticmethod + def extract_primary_customer(res_guests: Union[NotifResGuests, RetrieveResGuests]) -> CustomerData: + """Extract the primary customer data from a ResGuests structure.""" + + # Navigate down the nested structure to get the customer + customer = res_guests.res_guest.profiles.profile_info.profile.customer + + # Use the existing CustomerFactory conversion method + if isinstance(res_guests, NotifResGuests): + return CustomerFactory.from_notif_customer(customer) + else: + return CustomerFactory.from_retrieve_customer(customer) + + # Usage examples if __name__ == "__main__": # Create customer data using simple data class @@ -227,4 +299,23 @@ if __name__ == "__main__": print("Converted back to data:", converted_data.given_name, converted_data.surname) # Verify they contain the same information - print("Original and converted data match:", customer_data == converted_data) \ No newline at end of file + print("Original and converted data match:", customer_data == converted_data) + + print("\n--- ResGuestFactory Examples ---") + + # Create complete ResGuests structure for OtaHotelResNotifRq - much simpler! + notif_res_guests = ResGuestFactory.create_notif_res_guests(customer_data) + print("Created NotifResGuests with customer:", + notif_res_guests.res_guest.profiles.profile_info.profile.customer.person_name.given_name) + + # Create complete ResGuests structure for OtaResRetrieveRs - much simpler! + retrieve_res_guests = ResGuestFactory.create_retrieve_res_guests(customer_data) + print("Created RetrieveResGuests with customer:", + retrieve_res_guests.res_guest.profiles.profile_info.profile.customer.person_name.given_name) + + # Extract primary customer data back from ResGuests structure + extracted_data = ResGuestFactory.extract_primary_customer(retrieve_res_guests) + print("Extracted customer data:", extracted_data.given_name, extracted_data.surname) + + # Verify roundtrip conversion + print("Roundtrip conversion successful:", customer_data == extracted_data) \ No newline at end of file diff --git a/test/test_simplified_access.py b/test/test_simplified_access.py new file mode 100644 index 0000000..bda40e0 --- /dev/null +++ b/test/test_simplified_access.py @@ -0,0 +1,348 @@ +import pytest +from typing import Union +import sys +import os + +# Add the src directory to the path so we can import our modules +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'src')) + +from simplified_access import ( + CustomerData, + CustomerFactory, + ResGuestFactory, + PhoneTechType, + NotifCustomer, + RetrieveCustomer, + NotifResGuests, + RetrieveResGuests +) + + +@pytest.fixture +def sample_customer_data(): + """Fixture providing sample customer data for testing.""" + return CustomerData( + given_name="John", + surname="Doe", + name_prefix="Mr.", + name_title="Jr.", + phone_numbers=[ + ("+1234567890", PhoneTechType.MOBILE), + ("+0987654321", PhoneTechType.VOICE), + ("+1111111111", None) + ], + email_address="john.doe@example.com", + email_newsletter=True, + address_line="123 Main Street", + city_name="Anytown", + postal_code="12345", + country_code="US", + address_catalog=False, + gender="Male", + birth_date="1980-01-01", + language="en" + ) + + +@pytest.fixture +def minimal_customer_data(): + """Fixture providing minimal customer data (only required fields).""" + return CustomerData( + given_name="Jane", + surname="Smith" + ) + + +class TestCustomerData: + """Test the CustomerData dataclass.""" + + def test_customer_data_creation_full(self, sample_customer_data): + """Test creating CustomerData with all fields.""" + assert sample_customer_data.given_name == "John" + assert sample_customer_data.surname == "Doe" + assert sample_customer_data.name_prefix == "Mr." + assert sample_customer_data.email_address == "john.doe@example.com" + assert sample_customer_data.email_newsletter is True + assert len(sample_customer_data.phone_numbers) == 3 + + def test_customer_data_creation_minimal(self, minimal_customer_data): + """Test creating CustomerData with only required fields.""" + assert minimal_customer_data.given_name == "Jane" + assert minimal_customer_data.surname == "Smith" + assert minimal_customer_data.phone_numbers == [] + assert minimal_customer_data.email_address is None + assert minimal_customer_data.address_line is None + + def test_phone_numbers_default_initialization(self): + """Test that phone_numbers gets initialized to empty list.""" + customer_data = CustomerData(given_name="Test", surname="User") + assert customer_data.phone_numbers == [] + + +class TestCustomerFactory: + """Test the CustomerFactory class.""" + + def test_create_notif_customer_full(self, sample_customer_data): + """Test creating a NotifCustomer with full data.""" + customer = CustomerFactory.create_notif_customer(sample_customer_data) + + assert isinstance(customer, NotifCustomer) + assert customer.person_name.given_name == "John" + assert customer.person_name.surname == "Doe" + assert customer.person_name.name_prefix == "Mr." + assert customer.person_name.name_title == "Jr." + + # Check telephone + assert len(customer.telephone) == 3 + assert customer.telephone[0].phone_number == "+1234567890" + assert customer.telephone[0].phone_tech_type == "5" # MOBILE + assert customer.telephone[1].phone_tech_type == "1" # VOICE + assert customer.telephone[2].phone_tech_type is None + + # Check email + assert customer.email.value == "john.doe@example.com" + assert customer.email.remark == "newsletter:yes" + + # Check address + assert customer.address.address_line == "123 Main Street" + assert customer.address.city_name == "Anytown" + assert customer.address.postal_code == "12345" + assert customer.address.country_name.code == "US" + assert customer.address.remark == "catalog:no" + + # Check other attributes + assert customer.gender == "Male" + assert customer.birth_date == "1980-01-01" + assert customer.language == "en" + + def test_create_retrieve_customer_full(self, sample_customer_data): + """Test creating a RetrieveCustomer with full data.""" + customer = CustomerFactory.create_retrieve_customer(sample_customer_data) + + assert isinstance(customer, RetrieveCustomer) + assert customer.person_name.given_name == "John" + assert customer.person_name.surname == "Doe" + # Same structure as NotifCustomer, so we don't need to test all fields again + + def test_create_customer_minimal(self, minimal_customer_data): + """Test creating customers with minimal data.""" + notif_customer = CustomerFactory.create_notif_customer(minimal_customer_data) + retrieve_customer = CustomerFactory.create_retrieve_customer(minimal_customer_data) + + for customer in [notif_customer, retrieve_customer]: + assert customer.person_name.given_name == "Jane" + assert customer.person_name.surname == "Smith" + assert customer.person_name.name_prefix is None + assert customer.person_name.name_title is None + assert len(customer.telephone) == 0 + assert customer.email is None + assert customer.address is None + assert customer.gender is None + assert customer.birth_date is None + assert customer.language is None + + def test_email_newsletter_options(self): + """Test different email newsletter options.""" + # Newsletter yes + data_yes = CustomerData(given_name="Test", surname="User", + email_address="test@example.com", email_newsletter=True) + customer = CustomerFactory.create_notif_customer(data_yes) + assert customer.email.remark == "newsletter:yes" + + # Newsletter no + data_no = CustomerData(given_name="Test", surname="User", + email_address="test@example.com", email_newsletter=False) + customer = CustomerFactory.create_notif_customer(data_no) + assert customer.email.remark == "newsletter:no" + + # Newsletter not specified + data_none = CustomerData(given_name="Test", surname="User", + email_address="test@example.com", email_newsletter=None) + customer = CustomerFactory.create_notif_customer(data_none) + assert customer.email.remark is None + + def test_address_catalog_options(self): + """Test different address catalog options.""" + # Catalog no + data_no = CustomerData(given_name="Test", surname="User", + address_line="123 Street", address_catalog=False) + customer = CustomerFactory.create_notif_customer(data_no) + assert customer.address.remark == "catalog:no" + + # Catalog yes + data_yes = CustomerData(given_name="Test", surname="User", + address_line="123 Street", address_catalog=True) + customer = CustomerFactory.create_notif_customer(data_yes) + assert customer.address.remark == "catalog:yes" + + # Catalog not specified + data_none = CustomerData(given_name="Test", surname="User", + address_line="123 Street", address_catalog=None) + customer = CustomerFactory.create_notif_customer(data_none) + assert customer.address.remark is None + + def test_from_notif_customer_roundtrip(self, sample_customer_data): + """Test converting NotifCustomer back to CustomerData.""" + customer = CustomerFactory.create_notif_customer(sample_customer_data) + converted_data = CustomerFactory.from_notif_customer(customer) + + assert converted_data == sample_customer_data + + def test_from_retrieve_customer_roundtrip(self, sample_customer_data): + """Test converting RetrieveCustomer back to CustomerData.""" + customer = CustomerFactory.create_retrieve_customer(sample_customer_data) + converted_data = CustomerFactory.from_retrieve_customer(customer) + + assert converted_data == sample_customer_data + + def test_phone_tech_type_conversion(self): + """Test that PhoneTechType enum values are properly converted.""" + data = CustomerData( + given_name="Test", + surname="User", + phone_numbers=[ + ("+1111111111", PhoneTechType.VOICE), + ("+2222222222", PhoneTechType.FAX), + ("+3333333333", PhoneTechType.MOBILE) + ] + ) + + customer = CustomerFactory.create_notif_customer(data) + assert customer.telephone[0].phone_tech_type == "1" # VOICE + assert customer.telephone[1].phone_tech_type == "3" # FAX + assert customer.telephone[2].phone_tech_type == "5" # MOBILE + + +class TestResGuestFactory: + """Test the ResGuestFactory class.""" + + def test_create_notif_res_guests(self, sample_customer_data): + """Test creating NotifResGuests structure.""" + res_guests = ResGuestFactory.create_notif_res_guests(sample_customer_data) + + assert isinstance(res_guests, NotifResGuests) + + # Navigate down the nested structure + customer = res_guests.res_guest.profiles.profile_info.profile.customer + assert customer.person_name.given_name == "John" + assert customer.person_name.surname == "Doe" + assert customer.email.value == "john.doe@example.com" + + def test_create_retrieve_res_guests(self, sample_customer_data): + """Test creating RetrieveResGuests structure.""" + res_guests = ResGuestFactory.create_retrieve_res_guests(sample_customer_data) + + assert isinstance(res_guests, RetrieveResGuests) + + # Navigate down the nested structure + customer = res_guests.res_guest.profiles.profile_info.profile.customer + assert customer.person_name.given_name == "John" + assert customer.person_name.surname == "Doe" + assert customer.email.value == "john.doe@example.com" + + def test_create_res_guests_minimal(self, minimal_customer_data): + """Test creating ResGuests with minimal customer data.""" + notif_res_guests = ResGuestFactory.create_notif_res_guests(minimal_customer_data) + retrieve_res_guests = ResGuestFactory.create_retrieve_res_guests(minimal_customer_data) + + for res_guests in [notif_res_guests, retrieve_res_guests]: + customer = res_guests.res_guest.profiles.profile_info.profile.customer + assert customer.person_name.given_name == "Jane" + assert customer.person_name.surname == "Smith" + assert customer.email is None + assert customer.address is None + + def test_extract_primary_customer_notif(self, sample_customer_data): + """Test extracting primary customer from NotifResGuests.""" + res_guests = ResGuestFactory.create_notif_res_guests(sample_customer_data) + extracted_data = ResGuestFactory.extract_primary_customer(res_guests) + + assert extracted_data == sample_customer_data + + def test_extract_primary_customer_retrieve(self, sample_customer_data): + """Test extracting primary customer from RetrieveResGuests.""" + res_guests = ResGuestFactory.create_retrieve_res_guests(sample_customer_data) + extracted_data = ResGuestFactory.extract_primary_customer(res_guests) + + assert extracted_data == sample_customer_data + + def test_roundtrip_conversion_notif(self, sample_customer_data): + """Test complete roundtrip: CustomerData -> NotifResGuests -> CustomerData.""" + res_guests = ResGuestFactory.create_notif_res_guests(sample_customer_data) + extracted_data = ResGuestFactory.extract_primary_customer(res_guests) + + assert extracted_data == sample_customer_data + + def test_roundtrip_conversion_retrieve(self, sample_customer_data): + """Test complete roundtrip: CustomerData -> RetrieveResGuests -> CustomerData.""" + res_guests = ResGuestFactory.create_retrieve_res_guests(sample_customer_data) + extracted_data = ResGuestFactory.extract_primary_customer(res_guests) + + assert extracted_data == sample_customer_data + + +class TestPhoneTechType: + """Test the PhoneTechType enum.""" + + def test_enum_values(self): + """Test that enum values are correct.""" + assert PhoneTechType.VOICE.value == "1" + assert PhoneTechType.FAX.value == "3" + assert PhoneTechType.MOBILE.value == "5" + + +class TestIntegration: + """Integration tests combining both factories.""" + + def test_both_factories_produce_same_customer_data(self, sample_customer_data): + """Test that both factories can work with the same customer data.""" + # Create using CustomerFactory + notif_customer = CustomerFactory.create_notif_customer(sample_customer_data) + retrieve_customer = CustomerFactory.create_retrieve_customer(sample_customer_data) + + # Create using ResGuestFactory and extract customers + notif_res_guests = ResGuestFactory.create_notif_res_guests(sample_customer_data) + retrieve_res_guests = ResGuestFactory.create_retrieve_res_guests(sample_customer_data) + + notif_from_res_guests = notif_res_guests.res_guest.profiles.profile_info.profile.customer + retrieve_from_res_guests = retrieve_res_guests.res_guest.profiles.profile_info.profile.customer + + # Compare customer names (structure should be identical) + assert notif_customer.person_name.given_name == notif_from_res_guests.person_name.given_name + assert notif_customer.person_name.surname == notif_from_res_guests.person_name.surname + assert retrieve_customer.person_name.given_name == retrieve_from_res_guests.person_name.given_name + assert retrieve_customer.person_name.surname == retrieve_from_res_guests.person_name.surname + + def test_complex_customer_workflow(self): + """Test a complex workflow with multiple operations.""" + # Create original data + original_data = CustomerData( + given_name="Alice", + surname="Johnson", + phone_numbers=[ + ("+1555123456", PhoneTechType.MOBILE), + ("+1555654321", PhoneTechType.VOICE) + ], + email_address="alice.johnson@company.com", + email_newsletter=False, + address_line="456 Business Ave", + city_name="Metropolis", + postal_code="67890", + country_code="CA", + address_catalog=True, + gender="Female", + language="fr" + ) + + # Create ResGuests for both types + notif_res_guests = ResGuestFactory.create_notif_res_guests(original_data) + retrieve_res_guests = ResGuestFactory.create_retrieve_res_guests(original_data) + + # Extract data back from both + notif_extracted = ResGuestFactory.extract_primary_customer(notif_res_guests) + retrieve_extracted = ResGuestFactory.extract_primary_customer(retrieve_res_guests) + + # All should be equal + assert original_data == notif_extracted + assert original_data == retrieve_extracted + assert notif_extracted == retrieve_extracted \ No newline at end of file diff --git a/uv.lock b/uv.lock index f494359..4c49b3e 100644 --- a/uv.lock +++ b/uv.lock @@ -9,6 +9,7 @@ source = { virtual = "." } dependencies = [ { name = "generateds" }, { name = "lxml" }, + { name = "pytest" }, { name = "ruff" }, { name = "xsdata", extra = ["cli", "lxml", "soap"] }, { name = "xsdata-pydantic", extra = ["cli", "lxml", "soap"] }, @@ -18,6 +19,7 @@ dependencies = [ requires-dist = [ { name = "generateds", specifier = ">=2.44.3" }, { name = "lxml", specifier = ">=6.0.1" }, + { name = "pytest", specifier = ">=8.4.2" }, { name = "ruff", specifier = ">=0.13.1" }, { name = "xsdata", extras = ["cli", "lxml", "soap"], specifier = ">=25.7" }, { name = "xsdata-pydantic", extras = ["cli", "lxml", "soap"], specifier = ">=24.5" }, @@ -140,6 +142,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, ] +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, +] + [[package]] name = "jinja2" version = "3.1.6" @@ -224,6 +235,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, ] +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538 }, +] + [[package]] name = "pydantic" version = "2.11.9" @@ -267,6 +296,31 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777 }, ] +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217 }, +] + +[[package]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750 }, +] + [[package]] name = "requests" version = "2.32.5" From 79ceb72d129b4a5b141f5f1471aa7066cab258ab Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 15:28:55 +0200 Subject: [PATCH 07/16] Before simplifying the factory --- src/main.py | 35 ++-- src/output.xml | 2 +- src/simplified_access.py | 314 ++++++++++++++++++++++++--------- test/test_simplified_access.py | 126 ++++++++++++- 4 files changed, 374 insertions(+), 103 deletions(-) diff --git a/src/main.py b/src/main.py index c2a4ade..5261bc9 100644 --- a/src/main.py +++ b/src/main.py @@ -6,8 +6,14 @@ from datetime import datetime, timezone import re from xsdata_pydantic.bindings import XmlSerializer -from simplified_access import CustomerData, CustomerFactory, PhoneTechType, ResGuestFactory - +from simplified_access import ( + CustomerData, + CustomerFactory, + HotelReservationIdData, + HotelReservationIdFactory, + PhoneTechType, + ResGuestFactory, +) def main(): @@ -45,7 +51,7 @@ def main(): name_prefix="Mr.", phone_numbers=[ ("+1234567890", PhoneTechType.MOBILE), # Phone number with type - ("+0987654321", None) # Phone number without type + ("+0987654321", None), # Phone number without type ], email_address="john.doe@example.com", email_newsletter=True, @@ -56,23 +62,25 @@ def main(): address_catalog=False, gender="Male", birth_date="1980-01-01", - language="en" + language="en", ) - - res_guests = ResGuestFactory.create_retrieve_res_guests(customer_data) - - + hotel_res_id_data = HotelReservationIdData( + res_id_type="13", + res_id_value=None, + res_id_source=None, + res_id_source_context="99tales", + ) + # Create HotelReservationId using the factory + hotel_res_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id( + hotel_res_id_data + ) # Use the actual nested HotelReservationIds class hotel_res_ids = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds( - hotel_reservation_id = [ - ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId( - res_id_type="13", res_id_source_context="99tales" - ) - ] + hotel_reservation_id=[hotel_res_id] ) # Basic property info @@ -146,7 +154,6 @@ def main(): parsed_result = parser.from_string(xml_content, ab.OtaResRetrieveRs) - print("โœ… Round-trip validation successful!") print( f"Parsed reservation status: {parsed_result.reservations_list.hotel_reservation[0].res_status}" diff --git a/src/output.xml b/src/output.xml index a54d587..07c6ec7 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,7 +1,7 @@ - + diff --git a/src/simplified_access.py b/src/simplified_access.py index 336c53a..b0c73bc 100644 --- a/src/simplified_access.py +++ b/src/simplified_access.py @@ -10,6 +10,10 @@ from generated.alpinebits import OtaHotelResNotifRq, OtaResRetrieveRs NotifCustomer = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer RetrieveCustomer = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer +# Define type aliases for HotelReservationId types +NotifHotelReservationId = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId +RetrieveHotelReservationId = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId + # phonetechtype enum 1,3,5 voice, fax, mobile class PhoneTechType(Enum): @@ -18,23 +22,28 @@ class PhoneTechType(Enum): MOBILE = "5" - - @dataclass class CustomerData: """Simple data class to hold customer information without nested type constraints.""" + given_name: str surname: str name_prefix: None | str = None name_title: None | str = None - phone_numbers: list[tuple[str, None | PhoneTechType]] = None # (phone_number, phone_tech_type) + phone_numbers: list[tuple[str, None | PhoneTechType]] = ( + None # (phone_number, phone_tech_type) + ) email_address: None | str = None - email_newsletter: None | bool = None # True for "yes", False for "no", None for not specified + email_newsletter: None | bool = ( + None # True for "yes", False for "no", None for not specified + ) address_line: None | str = None city_name: None | str = None postal_code: None | str = None country_code: None | str = None # Two-letter country code - address_catalog: None | bool = None # True for "yes", False for "no", None for not specified + address_catalog: None | bool = ( + None # True for "yes", False for "no", None for not specified + ) gender: None | str = None # "Unknown", "Male", "Female" birth_date: None | str = None language: None | str = None # Two-letter language code @@ -46,69 +55,70 @@ class CustomerData: class CustomerFactory: """Factory class to create Customer instances for both OtaHotelResNotifRq and OtaResRetrieveRs.""" - + @staticmethod def create_notif_customer(data: CustomerData) -> NotifCustomer: """Create a Customer for OtaHotelResNotifRq.""" return CustomerFactory._create_customer(NotifCustomer, data) - + @staticmethod def create_retrieve_customer(data: CustomerData) -> RetrieveCustomer: """Create a Customer for OtaResRetrieveRs.""" return CustomerFactory._create_customer(RetrieveCustomer, data) - + @staticmethod def _create_customer(customer_class: type, data: CustomerData) -> Any: """Internal method to create a customer of the specified type.""" - + # Create PersonName person_name = customer_class.PersonName( given_name=data.given_name, surname=data.surname, name_prefix=data.name_prefix, - name_title=data.name_title + name_title=data.name_title, ) - + # Create telephone list telephones = [] for phone_number, phone_tech_type in data.phone_numbers: telephone = customer_class.Telephone( phone_number=phone_number, - phone_tech_type=phone_tech_type.value if phone_tech_type else None + phone_tech_type=phone_tech_type.value if phone_tech_type else None, ) telephones.append(telephone) - + # Create email if provided email = None if data.email_address: remark = None if data.email_newsletter is not None: remark = f"newsletter:{'yes' if data.email_newsletter else 'no'}" - - email = customer_class.Email( - value=data.email_address, - remark=remark - ) - + + email = customer_class.Email(value=data.email_address, remark=remark) + # Create address if any address fields are provided address = None - if any([data.address_line, data.city_name, data.postal_code, data.country_code]): + if any( + [data.address_line, data.city_name, data.postal_code, data.country_code] + ): country_name = None if data.country_code: - country_name = customer_class.Address.CountryName(code=data.country_code) - + country_name = customer_class.Address.CountryName( + code=data.country_code + ) + address_remark = None if data.address_catalog is not None: address_remark = f"catalog:{'yes' if data.address_catalog else 'no'}" - + address = customer_class.Address( address_line=data.address_line, city_name=data.city_name, postal_code=data.postal_code, country_name=country_name, - remark=address_remark + remark=address_remark, ) - + # Create the customer return customer_class( person_name=person_name, @@ -117,29 +127,36 @@ class CustomerFactory: address=address, gender=data.gender, birth_date=data.birth_date, - language=data.language + language=data.language, ) @staticmethod def from_notif_customer(customer: NotifCustomer) -> CustomerData: """Convert a NotifCustomer back to CustomerData.""" return CustomerFactory._customer_to_data(customer) - + @staticmethod def from_retrieve_customer(customer: RetrieveCustomer) -> CustomerData: """Convert a RetrieveCustomer back to CustomerData.""" return CustomerFactory._customer_to_data(customer) - + @staticmethod def _customer_to_data(customer: Any) -> CustomerData: """Internal method to convert any customer type to CustomerData.""" - + # Extract phone numbers phone_numbers = [] if customer.telephone: for tel in customer.telephone: - phone_numbers.append((tel.phone_number, PhoneTechType(tel.phone_tech_type) if tel.phone_tech_type else None)) - + phone_numbers.append( + ( + tel.phone_number, + PhoneTechType(tel.phone_tech_type) + if tel.phone_tech_type + else None, + ) + ) + # Extract email info email_address = None email_newsletter = None @@ -150,28 +167,28 @@ class CustomerFactory: email_newsletter = True elif "newsletter:no" in customer.email.remark: email_newsletter = False - + # Extract address info address_line = None city_name = None postal_code = None country_code = None address_catalog = None - + if customer.address: address_line = customer.address.address_line city_name = customer.address.city_name postal_code = customer.address.postal_code - + if customer.address.country_name: country_code = customer.address.country_name.code - + if customer.address.remark: if "catalog:yes" in customer.address.remark: address_catalog = True elif "catalog:no" in customer.address.remark: address_catalog = False - + return CustomerData( given_name=customer.person_name.given_name, surname=customer.person_name.surname, @@ -187,7 +204,81 @@ class CustomerFactory: address_catalog=address_catalog, gender=customer.gender, birth_date=customer.birth_date, - language=customer.language + language=customer.language, + ) + + +@dataclass +class HotelReservationIdData: + """Simple data class to hold hotel reservation ID information without nested type constraints.""" + + res_id_type: str # Required field - pattern: [0-9]+ + res_id_value: None | str = None # Max 64 characters + res_id_source: None | str = None # Max 64 characters + res_id_source_context: None | str = None # Max 64 characters + + +class HotelReservationIdFactory: + """Factory class to create HotelReservationId instances for both OtaHotelResNotifRq and OtaResRetrieveRs.""" + + @staticmethod + def create_notif_hotel_reservation_id( + data: HotelReservationIdData, + ) -> NotifHotelReservationId: + """Create a HotelReservationId for OtaHotelResNotifRq.""" + return HotelReservationIdFactory._create_hotel_reservation_id( + NotifHotelReservationId, data + ) + + @staticmethod + def create_retrieve_hotel_reservation_id( + data: HotelReservationIdData, + ) -> RetrieveHotelReservationId: + """Create a HotelReservationId for OtaResRetrieveRs.""" + return HotelReservationIdFactory._create_hotel_reservation_id( + RetrieveHotelReservationId, data + ) + + @staticmethod + def _create_hotel_reservation_id( + hotel_reservation_id_class: type, data: HotelReservationIdData + ) -> Any: + """Internal method to create a hotel reservation id of the specified type.""" + return hotel_reservation_id_class( + res_id_type=data.res_id_type, + res_id_value=data.res_id_value, + res_id_source=data.res_id_source, + res_id_source_context=data.res_id_source_context, + ) + + @staticmethod + def from_notif_hotel_reservation_id( + hotel_reservation_id: NotifHotelReservationId, + ) -> HotelReservationIdData: + """Convert a NotifHotelReservationId back to HotelReservationIdData.""" + return HotelReservationIdFactory._hotel_reservation_id_to_data( + hotel_reservation_id + ) + + @staticmethod + def from_retrieve_hotel_reservation_id( + hotel_reservation_id: RetrieveHotelReservationId, + ) -> HotelReservationIdData: + """Convert a RetrieveHotelReservationId back to HotelReservationIdData.""" + return HotelReservationIdFactory._hotel_reservation_id_to_data( + hotel_reservation_id + ) + + @staticmethod + def _hotel_reservation_id_to_data( + hotel_reservation_id: Any, + ) -> HotelReservationIdData: + """Internal method to convert any hotel reservation id type to HotelReservationIdData.""" + return HotelReservationIdData( + res_id_type=hotel_reservation_id.res_id_type, + res_id_value=hotel_reservation_id.res_id_value, + res_id_source=hotel_reservation_id.res_id_source, + res_id_source_context=hotel_reservation_id.res_id_source_context, ) @@ -198,64 +289,56 @@ RetrieveResGuests = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests class ResGuestFactory: """Factory class to create complete ResGuests structures with a primary customer.""" - + @staticmethod def create_notif_res_guests(customer_data: CustomerData) -> NotifResGuests: """Create a complete ResGuests structure for OtaHotelResNotifRq with primary customer.""" return ResGuestFactory._create_res_guests( - NotifResGuests, - NotifCustomer, - customer_data + NotifResGuests, NotifCustomer, customer_data ) - + @staticmethod def create_retrieve_res_guests(customer_data: CustomerData) -> RetrieveResGuests: """Create a complete ResGuests structure for OtaResRetrieveRs with primary customer.""" return ResGuestFactory._create_res_guests( - RetrieveResGuests, - RetrieveCustomer, - customer_data + RetrieveResGuests, RetrieveCustomer, customer_data ) - + @staticmethod - def _create_res_guests(res_guests_class: type, customer_class: type, customer_data: CustomerData) -> Any: + def _create_res_guests( + res_guests_class: type, customer_class: type, customer_data: CustomerData + ) -> Any: """Internal method to create complete ResGuests structure.""" - + # Create the customer using the existing CustomerFactory customer = CustomerFactory._create_customer(customer_class, customer_data) - + # Create Profile with the customer profile = res_guests_class.ResGuest.Profiles.ProfileInfo.Profile( customer=customer ) - + # Create ProfileInfo with the profile - profile_info = res_guests_class.ResGuest.Profiles.ProfileInfo( - profile=profile - ) - + profile_info = res_guests_class.ResGuest.Profiles.ProfileInfo(profile=profile) + # Create Profiles with the profile_info - profiles = res_guests_class.ResGuest.Profiles( - profile_info=profile_info - ) - + profiles = res_guests_class.ResGuest.Profiles(profile_info=profile_info) + # Create ResGuest with the profiles - res_guest = res_guests_class.ResGuest( - profiles=profiles - ) - + res_guest = res_guests_class.ResGuest(profiles=profiles) + # Create ResGuests with the res_guest - return res_guests_class( - res_guest=res_guest - ) - + return res_guests_class(res_guest=res_guest) + @staticmethod - def extract_primary_customer(res_guests: Union[NotifResGuests, RetrieveResGuests]) -> CustomerData: + def extract_primary_customer( + res_guests: Union[NotifResGuests, RetrieveResGuests], + ) -> CustomerData: """Extract the primary customer data from a ResGuests structure.""" - + # Navigate down the nested structure to get the customer customer = res_guests.res_guest.profiles.profile_info.profile.customer - + # Use the existing CustomerFactory conversion method if isinstance(res_guests, NotifResGuests): return CustomerFactory.from_notif_customer(customer) @@ -272,7 +355,7 @@ if __name__ == "__main__": name_prefix="Mr.", phone_numbers=[ ("+1234567890", PhoneTechType.MOBILE), # Phone number with type - ("+0987654321", None) # Phone number without type + ("+0987654321", None), # Phone number without type ], email_address="john.doe@example.com", email_newsletter=True, @@ -283,39 +366,96 @@ if __name__ == "__main__": address_catalog=False, gender="Male", birth_date="1980-01-01", - language="en" + language="en", ) - + # Create customer for OtaHotelResNotifRq notif_customer = CustomerFactory.create_notif_customer(customer_data) - print("Created NotifCustomer:", notif_customer.person_name.given_name, notif_customer.person_name.surname) - + print( + "Created NotifCustomer:", + notif_customer.person_name.given_name, + notif_customer.person_name.surname, + ) + # Create customer for OtaResRetrieveRs retrieve_customer = CustomerFactory.create_retrieve_customer(customer_data) - print("Created RetrieveCustomer:", retrieve_customer.person_name.given_name, retrieve_customer.person_name.surname) - + print( + "Created RetrieveCustomer:", + retrieve_customer.person_name.given_name, + retrieve_customer.person_name.surname, + ) + # Convert back to data class converted_data = CustomerFactory.from_notif_customer(notif_customer) print("Converted back to data:", converted_data.given_name, converted_data.surname) - + # Verify they contain the same information print("Original and converted data match:", customer_data == converted_data) - + + print("\n--- HotelReservationIdFactory Examples ---") + + # Create hotel reservation ID data + reservation_id_data = HotelReservationIdData( + res_id_type="123", + res_id_value="RESERVATION-456", + res_id_source="HOTEL_SYSTEM", + res_id_source_context="BOOKING_ENGINE", + ) + + # Create HotelReservationId for both types + notif_res_id = HotelReservationIdFactory.create_notif_hotel_reservation_id( + reservation_id_data + ) + retrieve_res_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id( + reservation_id_data + ) + + print( + "Created NotifHotelReservationId:", + notif_res_id.res_id_type, + notif_res_id.res_id_value, + ) + print( + "Created RetrieveHotelReservationId:", + retrieve_res_id.res_id_type, + retrieve_res_id.res_id_value, + ) + + # Convert back to data class + converted_res_id_data = HotelReservationIdFactory.from_notif_hotel_reservation_id( + notif_res_id + ) + print( + "Converted back to reservation ID data:", + converted_res_id_data.res_id_type, + converted_res_id_data.res_id_value, + ) + + # Verify they contain the same information + print( + "Original and converted reservation ID data match:", + reservation_id_data == converted_res_id_data, + ) + print("\n--- ResGuestFactory Examples ---") - + # Create complete ResGuests structure for OtaHotelResNotifRq - much simpler! notif_res_guests = ResGuestFactory.create_notif_res_guests(customer_data) - print("Created NotifResGuests with customer:", - notif_res_guests.res_guest.profiles.profile_info.profile.customer.person_name.given_name) - + print( + "Created NotifResGuests with customer:", + notif_res_guests.res_guest.profiles.profile_info.profile.customer.person_name.given_name, + ) + # Create complete ResGuests structure for OtaResRetrieveRs - much simpler! retrieve_res_guests = ResGuestFactory.create_retrieve_res_guests(customer_data) - print("Created RetrieveResGuests with customer:", - retrieve_res_guests.res_guest.profiles.profile_info.profile.customer.person_name.given_name) - + print( + "Created RetrieveResGuests with customer:", + retrieve_res_guests.res_guest.profiles.profile_info.profile.customer.person_name.given_name, + ) + # Extract primary customer data back from ResGuests structure extracted_data = ResGuestFactory.extract_primary_customer(retrieve_res_guests) print("Extracted customer data:", extracted_data.given_name, extracted_data.surname) - + # Verify roundtrip conversion - print("Roundtrip conversion successful:", customer_data == extracted_data) \ No newline at end of file + print("Roundtrip conversion successful:", customer_data == extracted_data) diff --git a/test/test_simplified_access.py b/test/test_simplified_access.py index bda40e0..fa5853f 100644 --- a/test/test_simplified_access.py +++ b/test/test_simplified_access.py @@ -10,11 +10,15 @@ from simplified_access import ( CustomerData, CustomerFactory, ResGuestFactory, + HotelReservationIdData, + HotelReservationIdFactory, PhoneTechType, NotifCustomer, RetrieveCustomer, NotifResGuests, - RetrieveResGuests + RetrieveResGuests, + NotifHotelReservationId, + RetrieveHotelReservationId ) @@ -53,6 +57,25 @@ def minimal_customer_data(): ) +@pytest.fixture +def sample_hotel_reservation_id_data(): + """Fixture providing sample hotel reservation ID data for testing.""" + return HotelReservationIdData( + res_id_type="123", + res_id_value="RESERVATION-456", + res_id_source="HOTEL_SYSTEM", + res_id_source_context="BOOKING_ENGINE" + ) + + +@pytest.fixture +def minimal_hotel_reservation_id_data(): + """Fixture providing minimal hotel reservation ID data (only required fields).""" + return HotelReservationIdData( + res_id_type="999" + ) + + class TestCustomerData: """Test the CustomerData dataclass.""" @@ -213,6 +236,73 @@ class TestCustomerFactory: assert customer.telephone[2].phone_tech_type == "5" # MOBILE +class TestHotelReservationIdData: + """Test the HotelReservationIdData dataclass.""" + + def test_hotel_reservation_id_data_creation_full(self, sample_hotel_reservation_id_data): + """Test creating HotelReservationIdData with all fields.""" + assert sample_hotel_reservation_id_data.res_id_type == "123" + assert sample_hotel_reservation_id_data.res_id_value == "RESERVATION-456" + assert sample_hotel_reservation_id_data.res_id_source == "HOTEL_SYSTEM" + assert sample_hotel_reservation_id_data.res_id_source_context == "BOOKING_ENGINE" + + def test_hotel_reservation_id_data_creation_minimal(self, minimal_hotel_reservation_id_data): + """Test creating HotelReservationIdData with only required fields.""" + assert minimal_hotel_reservation_id_data.res_id_type == "999" + assert minimal_hotel_reservation_id_data.res_id_value is None + assert minimal_hotel_reservation_id_data.res_id_source is None + assert minimal_hotel_reservation_id_data.res_id_source_context is None + + +class TestHotelReservationIdFactory: + """Test the HotelReservationIdFactory class.""" + + def test_create_notif_hotel_reservation_id_full(self, sample_hotel_reservation_id_data): + """Test creating a NotifHotelReservationId with full data.""" + reservation_id = HotelReservationIdFactory.create_notif_hotel_reservation_id(sample_hotel_reservation_id_data) + + assert isinstance(reservation_id, NotifHotelReservationId) + assert reservation_id.res_id_type == "123" + assert reservation_id.res_id_value == "RESERVATION-456" + assert reservation_id.res_id_source == "HOTEL_SYSTEM" + assert reservation_id.res_id_source_context == "BOOKING_ENGINE" + + def test_create_retrieve_hotel_reservation_id_full(self, sample_hotel_reservation_id_data): + """Test creating a RetrieveHotelReservationId with full data.""" + reservation_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id(sample_hotel_reservation_id_data) + + assert isinstance(reservation_id, RetrieveHotelReservationId) + assert reservation_id.res_id_type == "123" + assert reservation_id.res_id_value == "RESERVATION-456" + assert reservation_id.res_id_source == "HOTEL_SYSTEM" + assert reservation_id.res_id_source_context == "BOOKING_ENGINE" + + def test_create_hotel_reservation_id_minimal(self, minimal_hotel_reservation_id_data): + """Test creating hotel reservation IDs with minimal data.""" + notif_reservation_id = HotelReservationIdFactory.create_notif_hotel_reservation_id(minimal_hotel_reservation_id_data) + retrieve_reservation_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id(minimal_hotel_reservation_id_data) + + for reservation_id in [notif_reservation_id, retrieve_reservation_id]: + assert reservation_id.res_id_type == "999" + assert reservation_id.res_id_value is None + assert reservation_id.res_id_source is None + assert reservation_id.res_id_source_context is None + + def test_from_notif_hotel_reservation_id_roundtrip(self, sample_hotel_reservation_id_data): + """Test converting NotifHotelReservationId back to HotelReservationIdData.""" + reservation_id = HotelReservationIdFactory.create_notif_hotel_reservation_id(sample_hotel_reservation_id_data) + converted_data = HotelReservationIdFactory.from_notif_hotel_reservation_id(reservation_id) + + assert converted_data == sample_hotel_reservation_id_data + + def test_from_retrieve_hotel_reservation_id_roundtrip(self, sample_hotel_reservation_id_data): + """Test converting RetrieveHotelReservationId back to HotelReservationIdData.""" + reservation_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id(sample_hotel_reservation_id_data) + converted_data = HotelReservationIdFactory.from_retrieve_hotel_reservation_id(reservation_id) + + assert converted_data == sample_hotel_reservation_id_data + + class TestResGuestFactory: """Test the ResGuestFactory class.""" @@ -313,6 +403,17 @@ class TestIntegration: assert retrieve_customer.person_name.given_name == retrieve_from_res_guests.person_name.given_name assert retrieve_customer.person_name.surname == retrieve_from_res_guests.person_name.surname + def test_hotel_reservation_id_factories_produce_same_data(self, sample_hotel_reservation_id_data): + """Test that both HotelReservationId factories produce equivalent results.""" + notif_reservation_id = HotelReservationIdFactory.create_notif_hotel_reservation_id(sample_hotel_reservation_id_data) + retrieve_reservation_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id(sample_hotel_reservation_id_data) + + # Both should have the same field values + assert notif_reservation_id.res_id_type == retrieve_reservation_id.res_id_type + assert notif_reservation_id.res_id_value == retrieve_reservation_id.res_id_value + assert notif_reservation_id.res_id_source == retrieve_reservation_id.res_id_source + assert notif_reservation_id.res_id_source_context == retrieve_reservation_id.res_id_source_context + def test_complex_customer_workflow(self): """Test a complex workflow with multiple operations.""" # Create original data @@ -342,6 +443,29 @@ class TestIntegration: notif_extracted = ResGuestFactory.extract_primary_customer(notif_res_guests) retrieve_extracted = ResGuestFactory.extract_primary_customer(retrieve_res_guests) + # All should be equal + assert original_data == notif_extracted + assert original_data == retrieve_extracted + assert notif_extracted == retrieve_extracted + + def test_complex_hotel_reservation_id_workflow(self): + """Test a complex workflow with HotelReservationId operations.""" + # Create original reservation ID data + original_data = HotelReservationIdData( + res_id_type="456", + res_id_value="COMPLEX-RESERVATION-789", + res_id_source="INTEGRATION_SYSTEM", + res_id_source_context="API_CALL" + ) + + # Create HotelReservationId for both types + notif_reservation_id = HotelReservationIdFactory.create_notif_hotel_reservation_id(original_data) + retrieve_reservation_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id(original_data) + + # Extract data back from both + notif_extracted = HotelReservationIdFactory.from_notif_hotel_reservation_id(notif_reservation_id) + retrieve_extracted = HotelReservationIdFactory.from_retrieve_hotel_reservation_id(retrieve_reservation_id) + # All should be equal assert original_data == notif_extracted assert original_data == retrieve_extracted From 5e4703a6b558e96beb4adabaad035022426e1f98 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 16:11:43 +0200 Subject: [PATCH 08/16] AlpineBitsfactory. Not necessarily a great idea though --- src/main.py | 13 ++-- src/output.xml | 2 +- src/simplified_access.py | 124 +++++++++++++++++++++++++++++ test/test_simplified_access.py | 137 +++++++++++++++++++++++++++++++++ 4 files changed, 268 insertions(+), 8 deletions(-) diff --git a/src/main.py b/src/main.py index 5261bc9..dc2a61b 100644 --- a/src/main.py +++ b/src/main.py @@ -8,11 +8,10 @@ from xsdata_pydantic.bindings import XmlSerializer from simplified_access import ( CustomerData, - CustomerFactory, HotelReservationIdData, - HotelReservationIdFactory, PhoneTechType, - ResGuestFactory, + AlpineBitsFactory, + OtaMessageType ) @@ -65,7 +64,9 @@ def main(): language="en", ) - res_guests = ResGuestFactory.create_retrieve_res_guests(customer_data) + alpine_bits_factory = AlpineBitsFactory() + + res_guests = alpine_bits_factory.create_res_guests(customer_data, OtaMessageType.RETRIEVE) hotel_res_id_data = HotelReservationIdData( res_id_type="13", @@ -74,9 +75,7 @@ def main(): res_id_source_context="99tales", ) # Create HotelReservationId using the factory - hotel_res_id = HotelReservationIdFactory.create_retrieve_hotel_reservation_id( - hotel_res_id_data - ) + hotel_res_id = alpine_bits_factory.create(hotel_res_id_data, OtaMessageType.RETRIEVE) # Use the actual nested HotelReservationIds class hotel_res_ids = ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds( diff --git a/src/output.xml b/src/output.xml index 07c6ec7..7652092 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,7 +1,7 @@ - + diff --git a/src/simplified_access.py b/src/simplified_access.py index b0c73bc..6f8f0bd 100644 --- a/src/simplified_access.py +++ b/src/simplified_access.py @@ -22,6 +22,12 @@ class PhoneTechType(Enum): MOBILE = "5" +# Enum to specify which OTA message type to use +class OtaMessageType(Enum): + NOTIF = "notification" # For OtaHotelResNotifRq + RETRIEVE = "retrieve" # For OtaResRetrieveRs + + @dataclass class CustomerData: """Simple data class to hold customer information without nested type constraints.""" @@ -346,6 +352,86 @@ class ResGuestFactory: return CustomerFactory.from_retrieve_customer(customer) +class AlpineBitsFactory: + """Unified factory class for creating AlpineBits objects with a simple interface.""" + + @staticmethod + def create(data: Union[CustomerData, HotelReservationIdData], message_type: OtaMessageType) -> Any: + """ + Create an AlpineBits object based on the data type and message type. + + Args: + data: The data object (CustomerData, HotelReservationIdData, etc.) + message_type: Whether to create for NOTIF or RETRIEVE message types + + Returns: + The appropriate AlpineBits object based on the data type and message type + """ + if isinstance(data, CustomerData): + if message_type == OtaMessageType.NOTIF: + return CustomerFactory.create_notif_customer(data) + else: + return CustomerFactory.create_retrieve_customer(data) + + elif isinstance(data, HotelReservationIdData): + if message_type == OtaMessageType.NOTIF: + return HotelReservationIdFactory.create_notif_hotel_reservation_id(data) + else: + return HotelReservationIdFactory.create_retrieve_hotel_reservation_id(data) + + else: + raise ValueError(f"Unsupported data type: {type(data)}") + + @staticmethod + def create_res_guests(customer_data: CustomerData, message_type: OtaMessageType) -> Union[NotifResGuests, RetrieveResGuests]: + """ + Create a complete ResGuests structure with a primary customer. + + Args: + customer_data: The customer data + message_type: Whether to create for NOTIF or RETRIEVE message types + + Returns: + The appropriate ResGuests object + """ + if message_type == OtaMessageType.NOTIF: + return ResGuestFactory.create_notif_res_guests(customer_data) + else: + return ResGuestFactory.create_retrieve_res_guests(customer_data) + + @staticmethod + def extract_data(obj: Any) -> Union[CustomerData, HotelReservationIdData]: + """ + Extract data from an AlpineBits object back to a simple data class. + + Args: + obj: The AlpineBits object to extract data from + + Returns: + The appropriate data object + """ + # Check if it's a Customer object + if hasattr(obj, 'person_name') and hasattr(obj.person_name, 'given_name'): + if isinstance(obj, NotifCustomer): + return CustomerFactory.from_notif_customer(obj) + elif isinstance(obj, RetrieveCustomer): + return CustomerFactory.from_retrieve_customer(obj) + + # Check if it's a HotelReservationId object + elif hasattr(obj, 'res_id_type'): + if isinstance(obj, NotifHotelReservationId): + return HotelReservationIdFactory.from_notif_hotel_reservation_id(obj) + elif isinstance(obj, RetrieveHotelReservationId): + return HotelReservationIdFactory.from_retrieve_hotel_reservation_id(obj) + + # Check if it's a ResGuests object + elif hasattr(obj, 'res_guest'): + return ResGuestFactory.extract_primary_customer(obj) + + else: + raise ValueError(f"Unsupported object type: {type(obj)}") + + # Usage examples if __name__ == "__main__": # Create customer data using simple data class @@ -459,3 +545,41 @@ if __name__ == "__main__": # Verify roundtrip conversion print("Roundtrip conversion successful:", customer_data == extracted_data) + + print("\n--- Unified AlpineBitsFactory Examples ---") + + # Much simpler approach - single factory with enum parameter! + print("=== Customer Creation ===") + notif_customer = AlpineBitsFactory.create(customer_data, OtaMessageType.NOTIF) + retrieve_customer = AlpineBitsFactory.create(customer_data, OtaMessageType.RETRIEVE) + print("Created customers using unified factory") + + print("=== HotelReservationId Creation ===") + reservation_id_data = HotelReservationIdData( + res_id_type="123", + res_id_value="RESERVATION-456", + res_id_source="HOTEL_SYSTEM" + ) + notif_res_id = AlpineBitsFactory.create(reservation_id_data, OtaMessageType.NOTIF) + retrieve_res_id = AlpineBitsFactory.create(reservation_id_data, OtaMessageType.RETRIEVE) + print("Created reservation IDs using unified factory") + + print("=== ResGuests Creation ===") + notif_res_guests = AlpineBitsFactory.create_res_guests(customer_data, OtaMessageType.NOTIF) + retrieve_res_guests = AlpineBitsFactory.create_res_guests(customer_data, OtaMessageType.RETRIEVE) + print("Created ResGuests using unified factory") + + print("=== Data Extraction ===") + # Extract data back using unified interface + extracted_customer_data = AlpineBitsFactory.extract_data(notif_customer) + extracted_res_id_data = AlpineBitsFactory.extract_data(notif_res_id) + extracted_from_res_guests = AlpineBitsFactory.extract_data(retrieve_res_guests) + + print("Data extraction successful:") + print("- Customer roundtrip:", customer_data == extracted_customer_data) + print("- ReservationId roundtrip:", reservation_id_data == extracted_res_id_data) + print("- ResGuests roundtrip:", customer_data == extracted_from_res_guests) + + print("\n--- Comparison with old approach ---") + print("Old way required multiple imports and knowing specific factory methods") + print("New way: single import, single factory, enum parameter to specify type!") diff --git a/test/test_simplified_access.py b/test/test_simplified_access.py index fa5853f..d202337 100644 --- a/test/test_simplified_access.py +++ b/test/test_simplified_access.py @@ -12,7 +12,9 @@ from simplified_access import ( ResGuestFactory, HotelReservationIdData, HotelReservationIdFactory, + AlpineBitsFactory, PhoneTechType, + OtaMessageType, NotifCustomer, RetrieveCustomer, NotifResGuests, @@ -381,6 +383,141 @@ class TestPhoneTechType: assert PhoneTechType.MOBILE.value == "5" +class TestAlpineBitsFactory: + """Test the unified AlpineBitsFactory class.""" + + def test_create_customer_notif(self, sample_customer_data): + """Test creating customer using unified factory for NOTIF.""" + customer = AlpineBitsFactory.create(sample_customer_data, OtaMessageType.NOTIF) + assert isinstance(customer, NotifCustomer) + assert customer.person_name.given_name == "John" + assert customer.person_name.surname == "Doe" + + def test_create_customer_retrieve(self, sample_customer_data): + """Test creating customer using unified factory for RETRIEVE.""" + customer = AlpineBitsFactory.create(sample_customer_data, OtaMessageType.RETRIEVE) + assert isinstance(customer, RetrieveCustomer) + assert customer.person_name.given_name == "John" + assert customer.person_name.surname == "Doe" + + def test_create_hotel_reservation_id_notif(self, sample_hotel_reservation_id_data): + """Test creating hotel reservation ID using unified factory for NOTIF.""" + reservation_id = AlpineBitsFactory.create(sample_hotel_reservation_id_data, OtaMessageType.NOTIF) + assert isinstance(reservation_id, NotifHotelReservationId) + assert reservation_id.res_id_type == "123" + assert reservation_id.res_id_value == "RESERVATION-456" + + def test_create_hotel_reservation_id_retrieve(self, sample_hotel_reservation_id_data): + """Test creating hotel reservation ID using unified factory for RETRIEVE.""" + reservation_id = AlpineBitsFactory.create(sample_hotel_reservation_id_data, OtaMessageType.RETRIEVE) + assert isinstance(reservation_id, RetrieveHotelReservationId) + assert reservation_id.res_id_type == "123" + assert reservation_id.res_id_value == "RESERVATION-456" + + def test_create_res_guests_notif(self, sample_customer_data): + """Test creating ResGuests using unified factory for NOTIF.""" + res_guests = AlpineBitsFactory.create_res_guests(sample_customer_data, OtaMessageType.NOTIF) + assert isinstance(res_guests, NotifResGuests) + customer = res_guests.res_guest.profiles.profile_info.profile.customer + assert customer.person_name.given_name == "John" + + def test_create_res_guests_retrieve(self, sample_customer_data): + """Test creating ResGuests using unified factory for RETRIEVE.""" + res_guests = AlpineBitsFactory.create_res_guests(sample_customer_data, OtaMessageType.RETRIEVE) + assert isinstance(res_guests, RetrieveResGuests) + customer = res_guests.res_guest.profiles.profile_info.profile.customer + assert customer.person_name.given_name == "John" + + def test_extract_data_from_customer(self, sample_customer_data): + """Test extracting data from customer objects.""" + # Create both types and extract data back + notif_customer = AlpineBitsFactory.create(sample_customer_data, OtaMessageType.NOTIF) + retrieve_customer = AlpineBitsFactory.create(sample_customer_data, OtaMessageType.RETRIEVE) + + notif_extracted = AlpineBitsFactory.extract_data(notif_customer) + retrieve_extracted = AlpineBitsFactory.extract_data(retrieve_customer) + + assert notif_extracted == sample_customer_data + assert retrieve_extracted == sample_customer_data + + def test_extract_data_from_hotel_reservation_id(self, sample_hotel_reservation_id_data): + """Test extracting data from hotel reservation ID objects.""" + # Create both types and extract data back + notif_res_id = AlpineBitsFactory.create(sample_hotel_reservation_id_data, OtaMessageType.NOTIF) + retrieve_res_id = AlpineBitsFactory.create(sample_hotel_reservation_id_data, OtaMessageType.RETRIEVE) + + notif_extracted = AlpineBitsFactory.extract_data(notif_res_id) + retrieve_extracted = AlpineBitsFactory.extract_data(retrieve_res_id) + + assert notif_extracted == sample_hotel_reservation_id_data + assert retrieve_extracted == sample_hotel_reservation_id_data + + def test_extract_data_from_res_guests(self, sample_customer_data): + """Test extracting data from ResGuests objects.""" + # Create both types and extract data back + notif_res_guests = AlpineBitsFactory.create_res_guests(sample_customer_data, OtaMessageType.NOTIF) + retrieve_res_guests = AlpineBitsFactory.create_res_guests(sample_customer_data, OtaMessageType.RETRIEVE) + + notif_extracted = AlpineBitsFactory.extract_data(notif_res_guests) + retrieve_extracted = AlpineBitsFactory.extract_data(retrieve_res_guests) + + assert notif_extracted == sample_customer_data + assert retrieve_extracted == sample_customer_data + + def test_unsupported_data_type_error(self): + """Test that unsupported data types raise ValueError.""" + with pytest.raises(ValueError, match="Unsupported data type"): + AlpineBitsFactory.create("invalid_data", OtaMessageType.NOTIF) + + def test_unsupported_object_type_error(self): + """Test that unsupported object types raise ValueError in extract_data.""" + with pytest.raises(ValueError, match="Unsupported object type"): + AlpineBitsFactory.extract_data("invalid_object") + + def test_complete_workflow_with_unified_factory(self): + """Test a complete workflow using only the unified factory.""" + # Original data + customer_data = CustomerData( + given_name="Unified", + surname="Factory", + email_address="unified@factory.com", + phone_numbers=[("+1234567890", PhoneTechType.MOBILE)] + ) + + reservation_data = HotelReservationIdData( + res_id_type="999", + res_id_value="UNIFIED-TEST" + ) + + # Create using unified factory + customer_notif = AlpineBitsFactory.create(customer_data, OtaMessageType.NOTIF) + customer_retrieve = AlpineBitsFactory.create(customer_data, OtaMessageType.RETRIEVE) + + res_id_notif = AlpineBitsFactory.create(reservation_data, OtaMessageType.NOTIF) + res_id_retrieve = AlpineBitsFactory.create(reservation_data, OtaMessageType.RETRIEVE) + + res_guests_notif = AlpineBitsFactory.create_res_guests(customer_data, OtaMessageType.NOTIF) + res_guests_retrieve = AlpineBitsFactory.create_res_guests(customer_data, OtaMessageType.RETRIEVE) + + # Extract everything back + extracted_customer_from_notif = AlpineBitsFactory.extract_data(customer_notif) + extracted_customer_from_retrieve = AlpineBitsFactory.extract_data(customer_retrieve) + + extracted_res_id_from_notif = AlpineBitsFactory.extract_data(res_id_notif) + extracted_res_id_from_retrieve = AlpineBitsFactory.extract_data(res_id_retrieve) + + extracted_from_res_guests_notif = AlpineBitsFactory.extract_data(res_guests_notif) + extracted_from_res_guests_retrieve = AlpineBitsFactory.extract_data(res_guests_retrieve) + + # Verify everything matches + assert extracted_customer_from_notif == customer_data + assert extracted_customer_from_retrieve == customer_data + assert extracted_res_id_from_notif == reservation_data + assert extracted_res_id_from_retrieve == reservation_data + assert extracted_from_res_guests_notif == customer_data + assert extracted_from_res_guests_retrieve == customer_data + + class TestIntegration: """Integration tests combining both factories.""" From d41084cd1bb8dd45a547b46708a95d5c86e516ed Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Wed, 24 Sep 2025 17:14:13 +0200 Subject: [PATCH 09/16] Need to update timesspan --- src/main.py | 31 +++++++- src/output.xml | 11 ++- src/simplified_access.py | 163 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 199 insertions(+), 6 deletions(-) diff --git a/src/main.py b/src/main.py index dc2a61b..e817df3 100644 --- a/src/main.py +++ b/src/main.py @@ -7,7 +7,11 @@ import re from xsdata_pydantic.bindings import XmlSerializer from simplified_access import ( + CommentData, + CommentsData, + CommentListItemData, CustomerData, + HotelReservationIdData, PhoneTechType, AlpineBitsFactory, @@ -87,10 +91,35 @@ def main(): hotel_code="123", hotel_name="Frangart Inn" ) + comment = CommentData( + name= ab.CommentName2.CUSTOMER_COMMENT, + text="This is a sample comment.", + list_items=[CommentListItemData( + value="Landing page comment", + language="en", + list_item="1", + )], + + + ) + + comment2 = CommentData( + name= ab.CommentName2.ADDITIONAL_INFO, + text="This is a special request comment.", + + ) + + comments_data = CommentsData(comments=[comment, comment2]) + + + comments = alpine_bits_factory.create(comments_data, OtaMessageType.RETRIEVE) + + + # ResGlobalInfo res_global_info = ( ab.OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo( - hotel_reservation_ids=hotel_res_ids, basic_property_info=basic_property_info + hotel_reservation_ids=hotel_res_ids, basic_property_info=basic_property_info, comments=comments ) ) diff --git a/src/output.xml b/src/output.xml index 7652092..3ff5871 100644 --- a/src/output.xml +++ b/src/output.xml @@ -1,7 +1,7 @@ - + @@ -37,6 +37,15 @@ + + + Landing page comment + This is a sample comment. + + + This is a special request comment. + + diff --git a/src/simplified_access.py b/src/simplified_access.py index 6f8f0bd..eac901c 100644 --- a/src/simplified_access.py +++ b/src/simplified_access.py @@ -4,7 +4,7 @@ from dataclasses import dataclass from enum import Enum # Import the generated classes -from generated.alpinebits import OtaHotelResNotifRq, OtaResRetrieveRs +from generated.alpinebits import OtaHotelResNotifRq, OtaResRetrieveRs, CommentName2 # Define type aliases for the two Customer types NotifCustomer = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer @@ -14,6 +14,12 @@ RetrieveCustomer = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests. NotifHotelReservationId = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId RetrieveHotelReservationId = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.HotelReservationIds.HotelReservationId +# Define type aliases for Comments types +NotifComments = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Comments +RetrieveComments = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Comments +NotifComment = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGlobalInfo.Comments.Comment +RetrieveComment = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGlobalInfo.Comments.Comment + # phonetechtype enum 1,3,5 voice, fax, mobile class PhoneTechType(Enum): @@ -288,6 +294,113 @@ class HotelReservationIdFactory: ) +@dataclass +class CommentListItemData: + """Simple data class to hold comment list item information.""" + value: str # The text content of the list item + list_item: str # Numeric identifier (pattern: [0-9]+) + language: str # Two-letter language code (pattern: [a-z][a-z]) + + +@dataclass +class CommentData: + """Simple data class to hold comment information without nested type constraints.""" + name: CommentName2 # Required: "included services", "customer comment", "additional info" + text: Optional[str] = None # Optional text content + list_items: list[CommentListItemData] = None # Optional list items + + def __post_init__(self): + if self.list_items is None: + self.list_items = [] + + +@dataclass +class CommentsData: + """Simple data class to hold multiple comments (1-3 max).""" + comments: list[CommentData] = None # 1-3 comments maximum + + def __post_init__(self): + if self.comments is None: + self.comments = [] + + +class CommentFactory: + """Factory class to create Comment instances for both OtaHotelResNotifRq and OtaResRetrieveRs.""" + + @staticmethod + def create_notif_comments(data: CommentsData) -> NotifComments: + """Create Comments for OtaHotelResNotifRq.""" + return CommentFactory._create_comments(NotifComments, NotifComment, data) + + @staticmethod + def create_retrieve_comments(data: CommentsData) -> RetrieveComments: + """Create Comments for OtaResRetrieveRs.""" + return CommentFactory._create_comments(RetrieveComments, RetrieveComment, data) + + @staticmethod + def _create_comments(comments_class: type, comment_class: type, data: CommentsData) -> Any: + """Internal method to create comments of the specified type.""" + + comments_list = [] + for comment_data in data.comments: + # Create list items + list_items = [] + for item_data in comment_data.list_items: + list_item = comment_class.ListItem( + value=item_data.value, + list_item=item_data.list_item, + language=item_data.language + ) + list_items.append(list_item) + + # Create comment + comment = comment_class( + name=comment_data.name, + text=comment_data.text, + list_item=list_items + ) + comments_list.append(comment) + + # Create comments container + return comments_class(comment=comments_list) + + @staticmethod + def from_notif_comments(comments: NotifComments) -> CommentsData: + """Convert NotifComments back to CommentsData.""" + return CommentFactory._comments_to_data(comments) + + @staticmethod + def from_retrieve_comments(comments: RetrieveComments) -> CommentsData: + """Convert RetrieveComments back to CommentsData.""" + return CommentFactory._comments_to_data(comments) + + @staticmethod + def _comments_to_data(comments: Any) -> CommentsData: + """Internal method to convert any comments type to CommentsData.""" + + comments_data_list = [] + for comment in comments.comment: + # Extract list items + list_items_data = [] + if comment.list_item: + for list_item in comment.list_item: + list_items_data.append(CommentListItemData( + value=list_item.value, + list_item=list_item.list_item, + language=list_item.language + )) + + # Extract comment data + comment_data = CommentData( + name=comment.name, + text=comment.text, + list_items=list_items_data + ) + comments_data_list.append(comment_data) + + return CommentsData(comments=comments_data_list) + + # Define type aliases for ResGuests types NotifResGuests = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests RetrieveResGuests = OtaResRetrieveRs.ReservationsList.HotelReservation.ResGuests @@ -356,12 +469,12 @@ class AlpineBitsFactory: """Unified factory class for creating AlpineBits objects with a simple interface.""" @staticmethod - def create(data: Union[CustomerData, HotelReservationIdData], message_type: OtaMessageType) -> Any: + def create(data: Union[CustomerData, HotelReservationIdData, CommentsData], message_type: OtaMessageType) -> Any: """ Create an AlpineBits object based on the data type and message type. Args: - data: The data object (CustomerData, HotelReservationIdData, etc.) + data: The data object (CustomerData, HotelReservationIdData, CommentsData, etc.) message_type: Whether to create for NOTIF or RETRIEVE message types Returns: @@ -378,6 +491,12 @@ class AlpineBitsFactory: return HotelReservationIdFactory.create_notif_hotel_reservation_id(data) else: return HotelReservationIdFactory.create_retrieve_hotel_reservation_id(data) + + elif isinstance(data, CommentsData): + if message_type == OtaMessageType.NOTIF: + return CommentFactory.create_notif_comments(data) + else: + return CommentFactory.create_retrieve_comments(data) else: raise ValueError(f"Unsupported data type: {type(data)}") @@ -400,7 +519,7 @@ class AlpineBitsFactory: return ResGuestFactory.create_retrieve_res_guests(customer_data) @staticmethod - def extract_data(obj: Any) -> Union[CustomerData, HotelReservationIdData]: + def extract_data(obj: Any) -> Union[CustomerData, HotelReservationIdData, CommentsData]: """ Extract data from an AlpineBits object back to a simple data class. @@ -424,6 +543,13 @@ class AlpineBitsFactory: elif isinstance(obj, RetrieveHotelReservationId): return HotelReservationIdFactory.from_retrieve_hotel_reservation_id(obj) + # Check if it's a Comments object + elif hasattr(obj, 'comment'): + if isinstance(obj, NotifComments): + return CommentFactory.from_notif_comments(obj) + elif isinstance(obj, RetrieveComments): + return CommentFactory.from_retrieve_comments(obj) + # Check if it's a ResGuests object elif hasattr(obj, 'res_guest'): return ResGuestFactory.extract_primary_customer(obj) @@ -564,6 +690,33 @@ if __name__ == "__main__": retrieve_res_id = AlpineBitsFactory.create(reservation_id_data, OtaMessageType.RETRIEVE) print("Created reservation IDs using unified factory") + print("=== Comments Creation ===") + comments_data = CommentsData(comments=[ + CommentData( + name=CommentName2.CUSTOMER_COMMENT, + text="This is a customer comment about the reservation", + list_items=[ + CommentListItemData( + value="Special dietary requirements: vegetarian", + list_item="1", + language="en" + ), + CommentListItemData( + value="Late arrival expected", + list_item="2", + language="en" + ) + ] + ), + CommentData( + name=CommentName2.ADDITIONAL_INFO, + text="Additional information about the stay" + ) + ]) + notif_comments = AlpineBitsFactory.create(comments_data, OtaMessageType.NOTIF) + retrieve_comments = AlpineBitsFactory.create(comments_data, OtaMessageType.RETRIEVE) + print("Created comments using unified factory") + print("=== ResGuests Creation ===") notif_res_guests = AlpineBitsFactory.create_res_guests(customer_data, OtaMessageType.NOTIF) retrieve_res_guests = AlpineBitsFactory.create_res_guests(customer_data, OtaMessageType.RETRIEVE) @@ -573,11 +726,13 @@ if __name__ == "__main__": # Extract data back using unified interface extracted_customer_data = AlpineBitsFactory.extract_data(notif_customer) extracted_res_id_data = AlpineBitsFactory.extract_data(notif_res_id) + extracted_comments_data = AlpineBitsFactory.extract_data(retrieve_comments) extracted_from_res_guests = AlpineBitsFactory.extract_data(retrieve_res_guests) print("Data extraction successful:") print("- Customer roundtrip:", customer_data == extracted_customer_data) print("- ReservationId roundtrip:", reservation_id_data == extracted_res_id_data) + print("- Comments roundtrip:", comments_data == extracted_comments_data) print("- ResGuests roundtrip:", customer_data == extracted_from_res_guests) print("\n--- Comparison with old approach ---") From 9ea09ffa3f2fc5a28b96f2999f48ad8388555d0b Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 09:36:07 +0200 Subject: [PATCH 10/16] trying to figure out best project structure --- .gitignore | 5 + output.xml | 101 +++-- pyproject.toml | 11 + src/alpine_bits_python/__init__.py | 0 .../alpinebits_guestrequests.py | 0 src/alpine_bits_python/alpinebits_server.py | 401 ++++++++++++++++++ .../generated/__init__.py | 0 .../generated/alpinebits.py | 0 src/{ => alpine_bits_python}/main.py | 2 +- src/{ => alpine_bits_python}/output.xml | 0 .../simplified_access.py | 0 src/alpine_bits_python/util/handshake_util.py | 22 + 12 files changed, 495 insertions(+), 47 deletions(-) create mode 100644 src/alpine_bits_python/__init__.py rename src/{ => alpine_bits_python}/alpinebits_guestrequests.py (100%) create mode 100644 src/alpine_bits_python/alpinebits_server.py rename src/{ => alpine_bits_python}/generated/__init__.py (100%) rename src/{ => alpine_bits_python}/generated/alpinebits.py (100%) rename src/{ => alpine_bits_python}/main.py (99%) rename src/{ => alpine_bits_python}/output.xml (100%) rename src/{ => alpine_bits_python}/simplified_access.py (100%) create mode 100644 src/alpine_bits_python/util/handshake_util.py diff --git a/.gitignore b/.gitignore index 505a3b1..e352048 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # Python-generated files __pycache__/ +# also exclude nested __pycache__ directories +**/__pycache__/ *.py[oc] build/ dist/ @@ -8,3 +10,6 @@ wheels/ # Virtual environments .venv + +# exclude ruff cache +.ruff_cache/ diff --git a/output.xml b/output.xml index 9820d8e..657f416 100644 --- a/output.xml +++ b/output.xml @@ -1,47 +1,56 @@ - - <Success/> - - - - - - - - - - - - - - - - - - - - - - - - - Otto - Mustermann - -
- -
-
-
-
-
-
-
- - - - - - -
-
+ + + + + + + + + + + + + + + + + + + + Mr. + John + Doe + + + + john.doe@example.com +
+ 123 Main Street + Anytown + 12345 + +
+
+
+
+
+
+
+ + + + Landing page comment + This is a sample comment. + + + This is a special request comment. + + + + + + + +
+
diff --git a/pyproject.toml b/pyproject.toml index 0422b39..9df9e3c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,3 +12,14 @@ dependencies = [ "xsdata-pydantic[cli,lxml,soap]>=24.5", "xsdata[cli,lxml,soap]>=25.7", ] + + +[tool.hatch.build.targets.wheel] +packages = ["src/alpine_bits_python_server"] + +[tool.pytest.ini_options] +testpaths = ["tests"] +pythonpath = ["src"] + +[tool.ruff] +src = ["src", "tests"] \ No newline at end of file diff --git a/src/alpine_bits_python/__init__.py b/src/alpine_bits_python/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/alpinebits_guestrequests.py b/src/alpine_bits_python/alpinebits_guestrequests.py similarity index 100% rename from src/alpinebits_guestrequests.py rename to src/alpine_bits_python/alpinebits_guestrequests.py diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py new file mode 100644 index 0000000..a09b73a --- /dev/null +++ b/src/alpine_bits_python/alpinebits_server.py @@ -0,0 +1,401 @@ +""" +AlpineBits Server for handling hotel data exchange. + +This module provides an asynchronous AlpineBits server that can handle various +OTA (OpenTravel Alliance) actions for hotel data exchange. Currently implements +handshaking functionality with configurable supported actions and capabilities. +""" + +import asyncio +import json +from typing import Dict, List, Optional, Any +from xml.etree import ElementTree as ET + +from generated.alpinebits import OtaPingRq, OtaPingRs, WarningStatus +from xsdata_pydantic.bindings import XmlSerializer +from xsdata.formats.dataclass.serializers.config import SerializerConfig + + + + + +class ServerCapabilities: + pass + + + +class AlpineBitsServer: + """ + Asynchronous AlpineBits server for handling hotel data exchange requests. + + This server handles various OTA actions and implements the AlpineBits protocol + for hotel data exchange. It maintains a registry of supported actions and + their capabilities, and can respond to handshake requests with its capabilities. + """ + + def __init__(self): + """Initialize the AlpineBits server with default supported actions.""" + # Define supported versions and their capabilities + self.supported_versions = { + "2024-10": { + "actions": [ + { + "action": "action_OTA_Read" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" + } + ] + }, + "2022-10": { + "actions": [ + { + "action": "action_OTA_Read" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" + } + ] + } + } + + # XML serializer configuration + self.serializer_config = SerializerConfig( + pretty_print=True, + xml_declaration=True, + encoding="UTF-8" + ) + self.xml_serializer = XmlSerializer(config=self.serializer_config) + + # Namespace map for XML serialization + self.ns_map = { + None: "http://www.opentravel.org/OTA/2003/05", + "xsi": "http://www.w3.org/2001/XMLSchema-instance" + } + + def add_supported_action(self, version: str, action: str, supports: Optional[List[str]] = None): + """ + Add a supported action to a specific version. + + Args: + version: AlpineBits version (e.g., "2024-10") + action: Action name (e.g., "action_OTA_HotelInvCountNotif") + supports: List of supported features for this action (optional) + """ + if version not in self.supported_versions: + self.supported_versions[version] = {"actions": []} + + action_dict = {"action": action} + if supports: + action_dict["supports"] = supports + + self.supported_versions[version]["actions"].append(action_dict) + + def remove_supported_action(self, version: str, action: str): + """ + Remove a supported action from a specific version. + + Args: + version: AlpineBits version + action: Action name to remove + """ + if version in self.supported_versions: + actions = self.supported_versions[version]["actions"] + self.supported_versions[version]["actions"] = [ + a for a in actions if a["action"] != action + ] + + def is_action_supported(self, action: str, version: str = None) -> bool: + """ + Check if an action is supported by the server. + + Args: + action: Action name to check + version: Specific version to check (if None, checks all versions) + + Returns: + True if action is supported, False otherwise + """ + if version: + if version not in self.supported_versions: + return False + actions = self.supported_versions[version]["actions"] + return any(a["action"] == action for a in actions) + + # Check all versions + for ver_data in self.supported_versions.values(): + if any(a["action"] == action for a in ver_data["actions"]): + return True + return False + + def get_capabilities_json(self) -> str: + """ + Get the server capabilities as JSON string for handshake responses. + + Returns: + JSON string containing supported versions and actions + """ + capabilities = { + "versions": [ + { + "version": version, + "actions": version_data["actions"] + } + for version, version_data in self.supported_versions.items() + ] + } + return json.dumps(capabilities, indent=4) + + async def handle_request(self, action: str, request_xml: str) -> str: + """ + Handle an incoming AlpineBits request. + + Args: + action: The action to perform (e.g., "action_OTA_Ping") + request_xml: The XML request body + + Returns: + XML response string + + Raises: + ValueError: If the action is not supported + """ + # Parse the action to determine the handler method + if action == "action_OTA_Ping": + return await self.handle_ping(request_xml) + elif action == "action_OTA_Read": + return await self.handle_read(request_xml) + elif action == "action_OTA_HotelResNotif_GuestRequests": + return await self.handle_guest_requests(request_xml) + elif action == "action_OTA_HotelResNotif_GuestRequests_StatusUpdate": + return await self.handle_guest_requests_status_update(request_xml) + else: + # Return error response for unsupported actions + return await self.handle_unsupported_action(action, request_xml) + + async def handle_ping(self, request_xml: str) -> str: + """ + Handle OTA_Ping requests (handshake). + + Args: + request_xml: The OTA_PingRQ XML request + + Returns: + OTA_PingRS XML response with server capabilities + """ + try: + # Parse the incoming request to extract any version information + root = ET.fromstring(request_xml) + version = root.get("Version", "8.000") + + # Extract echo data if present + echo_data_elem = root.find(".//{http://www.opentravel.org/OTA/2003/05}EchoData") + echo_data = None + if echo_data_elem is not None and echo_data_elem.text: + echo_data = echo_data_elem.text.strip() + + # Get capabilities JSON + capabilities_json = self.get_capabilities_json() + + # Create warning with capabilities + warning = OtaPingRs.Warnings.Warning( + type_value="11", + status=WarningStatus.ALPINEBITS_HANDSHAKE, + content=[capabilities_json] + ) + + warnings = OtaPingRs.Warnings(warning=[warning]) + + # Create successful ping response + ping_response = OtaPingRs( + version=version, + success=None, # Empty success element + warnings=warnings, + echo_data=echo_data or capabilities_json + ) + + # Serialize to XML + return self.xml_serializer.render(ping_response, ns_map=self.ns_map) + + except Exception as e: + # Return error response if something goes wrong + return await self.create_error_response( + "OTA_PingRS", + "8.000", + f"Failed to process ping request: {str(e)}" + ) + + async def handle_read(self, request_xml: str) -> str: + """ + Handle OTA_Read requests. + + Args: + request_xml: The OTA_ReadRQ XML request + + Returns: + XML response (placeholder implementation) + """ + # Placeholder implementation - return unsupported for now + return await self.create_error_response( + "OTA_ReadRS", + "8.000", + "OTA_Read action not yet implemented" + ) + + async def handle_guest_requests(self, request_xml: str) -> str: + """ + Handle guest request notifications. + + Args: + request_xml: The guest request XML + + Returns: + XML response (placeholder implementation) + """ + # Placeholder implementation - return unsupported for now + return await self.create_error_response( + "OTA_HotelResNotifRS", + "8.000", + "Guest requests action not yet implemented" + ) + + async def handle_guest_requests_status_update(self, request_xml: str) -> str: + """ + Handle guest request status updates. + + Args: + request_xml: The status update XML + + Returns: + XML response (placeholder implementation) + """ + # Placeholder implementation - return unsupported for now + return await self.create_error_response( + "OTA_HotelResNotifRS", + "8.000", + "Guest request status updates not yet implemented" + ) + + async def handle_unsupported_action(self, action: str, request_xml: str) -> str: + """ + Handle unsupported actions by returning an appropriate error response. + + Args: + action: The unsupported action name + request_xml: The request XML + + Returns: + XML error response + """ + return await self.create_error_response( + "OTA_PingRS", # Use generic ping response for unknown actions + "8.000", + f"Action '{action}' is not supported by this server" + ) + + async def create_error_response(self, response_type: str, version: str, error_message: str) -> str: + """ + Create a generic error response. + + Args: + response_type: The response type (e.g., "OTA_PingRS") + version: Version number + error_message: Error message to include + + Returns: + XML error response string + """ + # Create a basic error response structure + error_xml = f''' +<{response_type} xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://www.opentravel.org/OTA/2003/05" + xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 {response_type}.xsd" + Version="{version}"> + + {error_message} + +''' + return error_xml + + def get_supported_actions(self, version: str = None) -> List[str]: + """ + Get list of supported action names. + + Args: + version: Specific version to get actions for (if None, returns all) + + Returns: + List of supported action names + """ + actions = set() + + if version: + if version in self.supported_versions: + for action_data in self.supported_versions[version]["actions"]: + actions.add(action_data["action"]) + else: + for version_data in self.supported_versions.values(): + for action_data in version_data["actions"]: + actions.add(action_data["action"]) + + return sorted(list(actions)) + + def get_supported_versions(self) -> List[str]: + """ + Get list of supported AlpineBits versions. + + Returns: + List of supported version strings + """ + return list(self.supported_versions.keys()) + + +# Example usage and testing +async def main(): + """Example usage of the AlpineBits server.""" + server = AlpineBitsServer() + + # Add additional supported actions + server.add_supported_action( + "2024-10", + "action_OTA_HotelInvCountNotif", + [ + "OTA_HotelInvCountNotif_accept_rooms", + "OTA_HotelInvCountNotif_accept_categories", + "OTA_HotelInvCountNotif_accept_deltas" + ] + ) + + # Example ping request + ping_request = ''' + + {"test": "handshake request"} +''' + + # Handle the request + try: + response = await server.handle_request("action_OTA_Ping", ping_request) + print("Response:") + print(response) + + # Test unsupported action + print("\n--- Testing unsupported action ---") + unsupported_response = await server.handle_request("action_NOT_SUPPORTED", ping_request) + print("Unsupported action response:") + print(unsupported_response) + + except Exception as e: + print(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.run(main()) \ No newline at end of file diff --git a/src/generated/__init__.py b/src/alpine_bits_python/generated/__init__.py similarity index 100% rename from src/generated/__init__.py rename to src/alpine_bits_python/generated/__init__.py diff --git a/src/generated/alpinebits.py b/src/alpine_bits_python/generated/alpinebits.py similarity index 100% rename from src/generated/alpinebits.py rename to src/alpine_bits_python/generated/alpinebits.py diff --git a/src/main.py b/src/alpine_bits_python/main.py similarity index 99% rename from src/main.py rename to src/alpine_bits_python/main.py index e817df3..e4eb2cf 100644 --- a/src/main.py +++ b/src/alpine_bits_python/main.py @@ -1,4 +1,4 @@ -from alpinebits_guestrequests import ResGuest, RoomStay +from .alpinebits_guestrequests import ResGuest, RoomStay import generated.alpinebits as ab from io import BytesIO import sys diff --git a/src/output.xml b/src/alpine_bits_python/output.xml similarity index 100% rename from src/output.xml rename to src/alpine_bits_python/output.xml diff --git a/src/simplified_access.py b/src/alpine_bits_python/simplified_access.py similarity index 100% rename from src/simplified_access.py rename to src/alpine_bits_python/simplified_access.py diff --git a/src/alpine_bits_python/util/handshake_util.py b/src/alpine_bits_python/util/handshake_util.py new file mode 100644 index 0000000..2ccdff5 --- /dev/null +++ b/src/alpine_bits_python/util/handshake_util.py @@ -0,0 +1,22 @@ +from generated.alpinebits import OtaPingRq, OtaPingRs + + + + +def main(): + # test parsing a ping request sample + + path = "../../AlpineBits-HotelData-2024-10/files/samples/Handshake/Handshake-OTA_PingRQ.xml" + + with open( + path, "r", encoding="utf-8") as f: + xml = f.read() + + # Parse the XML into the request object + request = OtaPingRq.from_xml(xml) + print("Parsed OTA_PingRQ:", request) + +if __name__ == "__main__": + + + main() \ No newline at end of file From 35da6d3c24dbf22492a9ef704516a58bc54bafe7 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 09:47:38 +0200 Subject: [PATCH 11/16] Reading handshake into python works --- output.xml | 2 +- pyproject.toml | 14 +++++++++---- src/alpine_bits_python/__main__.py | 5 +++++ src/alpine_bits_python/alpinebits_server.py | 2 +- src/alpine_bits_python/generated/__init__.py | 2 +- src/alpine_bits_python/main.py | 4 ++-- src/alpine_bits_python/simplified_access.py | 2 +- src/alpine_bits_python/util/__init__.py | 1 + src/alpine_bits_python/util/__main__.py | 5 +++++ src/alpine_bits_python/util/handshake_util.py | 20 +++++++++++++++---- uv.lock | 2 +- 11 files changed, 44 insertions(+), 15 deletions(-) create mode 100644 src/alpine_bits_python/__main__.py create mode 100644 src/alpine_bits_python/util/__init__.py create mode 100644 src/alpine_bits_python/util/__main__.py diff --git a/output.xml b/output.xml index 657f416..548dbb5 100644 --- a/output.xml +++ b/output.xml @@ -1,7 +1,7 @@ - + diff --git a/pyproject.toml b/pyproject.toml index 9df9e3c..61f2484 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,11 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + [project] name = "alpine-bits-python-server" version = "0.1.0" -description = "Add your description here" +description = "Alpine Bits Python Server implementation" readme = "README.md" requires-python = ">=3.13" dependencies = [ @@ -13,13 +17,15 @@ dependencies = [ "xsdata[cli,lxml,soap]>=25.7", ] +[project.scripts] +alpine-bits-server = "alpine_bits_python.main:main" [tool.hatch.build.targets.wheel] -packages = ["src/alpine_bits_python_server"] +packages = ["src/alpine_bits_python"] [tool.pytest.ini_options] -testpaths = ["tests"] +testpaths = ["test"] pythonpath = ["src"] [tool.ruff] -src = ["src", "tests"] \ No newline at end of file +src = ["src", "test"] \ No newline at end of file diff --git a/src/alpine_bits_python/__main__.py b/src/alpine_bits_python/__main__.py new file mode 100644 index 0000000..a3bb46a --- /dev/null +++ b/src/alpine_bits_python/__main__.py @@ -0,0 +1,5 @@ +"""Entry point for alpine_bits_python package.""" +from .main import main + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index a09b73a..7adc4b3 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -11,7 +11,7 @@ import json from typing import Dict, List, Optional, Any from xml.etree import ElementTree as ET -from generated.alpinebits import OtaPingRq, OtaPingRs, WarningStatus +from .generated.alpinebits import OtaPingRq, OtaPingRs, WarningStatus from xsdata_pydantic.bindings import XmlSerializer from xsdata.formats.dataclass.serializers.config import SerializerConfig diff --git a/src/alpine_bits_python/generated/__init__.py b/src/alpine_bits_python/generated/__init__.py index f34da4d..b5ee0c8 100644 --- a/src/alpine_bits_python/generated/__init__.py +++ b/src/alpine_bits_python/generated/__init__.py @@ -1,4 +1,4 @@ -from generated.alpinebits import ( +from .alpinebits import ( BaseByGuestAmtType, BookingRuleCodeContext, CommentName1, diff --git a/src/alpine_bits_python/main.py b/src/alpine_bits_python/main.py index e4eb2cf..01a8487 100644 --- a/src/alpine_bits_python/main.py +++ b/src/alpine_bits_python/main.py @@ -1,12 +1,12 @@ from .alpinebits_guestrequests import ResGuest, RoomStay -import generated.alpinebits as ab +from .generated import alpinebits as ab from io import BytesIO import sys from datetime import datetime, timezone import re from xsdata_pydantic.bindings import XmlSerializer -from simplified_access import ( +from .simplified_access import ( CommentData, CommentsData, CommentListItemData, diff --git a/src/alpine_bits_python/simplified_access.py b/src/alpine_bits_python/simplified_access.py index eac901c..f20694a 100644 --- a/src/alpine_bits_python/simplified_access.py +++ b/src/alpine_bits_python/simplified_access.py @@ -4,7 +4,7 @@ from dataclasses import dataclass from enum import Enum # Import the generated classes -from generated.alpinebits import OtaHotelResNotifRq, OtaResRetrieveRs, CommentName2 +from .generated.alpinebits import OtaHotelResNotifRq, OtaResRetrieveRs, CommentName2 # Define type aliases for the two Customer types NotifCustomer = OtaHotelResNotifRq.HotelReservations.HotelReservation.ResGuests.ResGuest.Profiles.ProfileInfo.Profile.Customer diff --git a/src/alpine_bits_python/util/__init__.py b/src/alpine_bits_python/util/__init__.py new file mode 100644 index 0000000..c86dd84 --- /dev/null +++ b/src/alpine_bits_python/util/__init__.py @@ -0,0 +1 @@ +"""Utility functions for alpine_bits_python.""" \ No newline at end of file diff --git a/src/alpine_bits_python/util/__main__.py b/src/alpine_bits_python/util/__main__.py new file mode 100644 index 0000000..beb47d9 --- /dev/null +++ b/src/alpine_bits_python/util/__main__.py @@ -0,0 +1,5 @@ +"""Entry point for util package.""" +from .handshake_util import main + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/src/alpine_bits_python/util/handshake_util.py b/src/alpine_bits_python/util/handshake_util.py index 2ccdff5..dbbb66f 100644 --- a/src/alpine_bits_python/util/handshake_util.py +++ b/src/alpine_bits_python/util/handshake_util.py @@ -1,4 +1,5 @@ -from generated.alpinebits import OtaPingRq, OtaPingRs +from ..generated.alpinebits import OtaPingRq, OtaPingRs +from xsdata_pydantic.bindings import XmlParser @@ -6,15 +7,26 @@ from generated.alpinebits import OtaPingRq, OtaPingRs def main(): # test parsing a ping request sample - path = "../../AlpineBits-HotelData-2024-10/files/samples/Handshake/Handshake-OTA_PingRQ.xml" + path = "AlpineBits-HotelData-2024-10/files/samples/Handshake/Handshake-OTA_PingRQ.xml" with open( path, "r", encoding="utf-8") as f: xml = f.read() # Parse the XML into the request object - request = OtaPingRq.from_xml(xml) - print("Parsed OTA_PingRQ:", request) + + # Test parsing back + + + parser = XmlParser() + + + + parsed_result = parser.from_string(xml, OtaPingRq) + + print(parsed_result.echo_data) + + if __name__ == "__main__": diff --git a/uv.lock b/uv.lock index 4c49b3e..529d619 100644 --- a/uv.lock +++ b/uv.lock @@ -5,7 +5,7 @@ requires-python = ">=3.13" [[package]] name = "alpine-bits-python-server" version = "0.1.0" -source = { virtual = "." } +source = { editable = "." } dependencies = [ { name = "generateds" }, { name = "lxml" }, From 6925dd734c074aacee23dd659d9ca9bac3a56fe5 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 11:33:54 +0200 Subject: [PATCH 12/16] Server takes form --- ACTION_MAPPING_SUMMARY.md | 59 ++ output.xml | 2 +- parsed_echo_data.json | 135 ++++ src/alpine_bits_python/alpinebits_server.py | 747 ++++++++++-------- src/alpine_bits_python/util/handshake_util.py | 7 + test/test_discovery.py | 61 ++ 6 files changed, 678 insertions(+), 333 deletions(-) create mode 100644 ACTION_MAPPING_SUMMARY.md create mode 100644 parsed_echo_data.json create mode 100644 test/test_discovery.py diff --git a/ACTION_MAPPING_SUMMARY.md b/ACTION_MAPPING_SUMMARY.md new file mode 100644 index 0000000..db8d28f --- /dev/null +++ b/ACTION_MAPPING_SUMMARY.md @@ -0,0 +1,59 @@ +## AlpineBits Action Mapping System + +### Problem Solved +The AlpineBits specification uses different names for the same action: +- **Capability JSON**: `"action_OTA_Read"` (advertised in handshake) +- **Request Action**: `"OTA_Read:GuestRequests"` (actual request parameter) + +### Solution Architecture + +#### 1. Enhanced AlpineBitsActionName Enum +```python +# Maps capability names to request names +OTA_READ = ("action_OTA_Read", ["OTA_Read:GuestRequests", "OTA_Read"]) +``` + +#### 2. Automatic Action Discovery +- `ServerCapabilities` scans for implemented actions +- Only includes actions with overridden `handle()` methods +- Generates capability JSON using capability names + +#### 3. Request Routing +- `AlpineBitsServer.handle_request()` accepts request action names +- Maps request names back to capability names +- Routes to appropriate action handler +- Validates version support + +### Key Features + +โœ… **Automatic Discovery**: New action implementations are automatically detected +โœ… **Name Mapping**: Handles capability vs request name differences +โœ… **Version Support**: Actions can support multiple versions +โœ… **Error Handling**: Proper HTTP status codes (200, 400, 401, 500) +โœ… **Capability Generation**: Dynamic JSON generation for handshakes + +### Usage Example + +```python +# Server automatically discovers implemented actions +server = AlpineBitsServer() + +# Handle request with different name format +response = await server.handle_request( + "OTA_Read:GuestRequests", # Request name + xml_content, + "2024-10" +) + +# Capability JSON uses "action_OTA_Read" automatically +capabilities = server.get_capabilities_json() +``` + +### Adding New Actions + +1. Create action class inheriting from `AlpineBitsAction` +2. Add mapping to `AlpineBitsActionName` enum +3. Implement `handle()` method +4. Deploy - action automatically appears in capabilities + +The system is now production-ready for handling AlpineBits protocol quirks! \ No newline at end of file diff --git a/output.xml b/output.xml index 548dbb5..38beaa5 100644 --- a/output.xml +++ b/output.xml @@ -1,7 +1,7 @@ - + diff --git a/parsed_echo_data.json b/parsed_echo_data.json new file mode 100644 index 0000000..fd92356 --- /dev/null +++ b/parsed_echo_data.json @@ -0,0 +1,135 @@ +{ + "versions": [ + { + "version": "2024-10", + "actions": [ + { + "action": "action_OTA_Read" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" + }, + { + "action": "action_OTA_HotelInvCountNotif", + "supports": [ + "OTA_HotelInvCountNotif_accept_rooms", + "OTA_HotelInvCountNotif_accept_categories", + "OTA_HotelInvCountNotif_accept_deltas", + "OTA_HotelInvCountNotif_accept_out_of_market", + "OTA_HotelInvCountNotif_accept_out_of_order", + "OTA_HotelInvCountNotif_accept_complete_set", + "OTA_HotelInvCountNotif_accept_closing_seasons" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Inventory", + "supports": [ + "OTA_HotelDescriptiveContentNotif_Inventory_use_rooms", + "OTA_HotelDescriptiveContentNotif_Inventory_occupancy_children" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Info" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Inventory" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Info" + }, + { + "action": "action_OTA_HotelRatePlanNotif_RatePlans", + "supports": [ + "OTA_HotelRatePlanNotif_accept_ArrivalDOW", + "OTA_HotelRatePlanNotif_accept_DepartureDOW", + "OTA_HotelRatePlanNotif_accept_RatePlan_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_RoomType_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_mixed_BookingRule", + "OTA_HotelRatePlanNotif_accept_Supplements", + "OTA_HotelRatePlanNotif_accept_FreeNightsOffers", + "OTA_HotelRatePlanNotif_accept_FamilyOffers", + "OTA_HotelRatePlanNotif_accept_full", + "OTA_HotelRatePlanNotif_accept_overlay", + "OTA_HotelRatePlanNotif_accept_RatePlanJoin", + "OTA_HotelRatePlanNotif_accept_OfferRule_BookingOffset", + "OTA_HotelRatePlanNotif_accept_OfferRule_DOWLOS" + ] + }, + { + "action": "action_OTA_HotelRatePlan_BaseRates", + "supports": [ + "OTA_HotelRatePlan_BaseRates_deltas" + ] + }, + { + "action": "action_OTA_HotelPostEventNotif_EventReports" + } + ] + }, + { + "version": "2022-10", + "actions": [ + { + "action": "action_OTA_Ping" + }, + { + "action": "action_OTA_Read" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" + }, + { + "action": "action_OTA_HotelInvCountNotif", + "supports": [ + "OTA_HotelInvCountNotif_accept_rooms", + "OTA_HotelInvCountNotif_accept_categories", + "OTA_HotelInvCountNotif_accept_deltas", + "OTA_HotelInvCountNotif_accept_out_of_market", + "OTA_HotelInvCountNotif_accept_out_of_order", + "OTA_HotelInvCountNotif_accept_complete_set", + "OTA_HotelInvCountNotif_accept_closing_seasons" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Inventory", + "supports": [ + "OTA_HotelDescriptiveContentNotif_Inventory_use_rooms", + "OTA_HotelDescriptiveContentNotif_Inventory_occupancy_children" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Info" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Inventory" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Info" + }, + { + "action": "action_OTA_HotelRatePlanNotif_RatePlans", + "supports": [ + "OTA_HotelRatePlanNotif_accept_ArrivalDOW", + "OTA_HotelRatePlanNotif_accept_DepartureDOW", + "OTA_HotelRatePlanNotif_accept_RatePlan_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_RoomType_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_mixed_BookingRule", + "OTA_HotelRatePlanNotif_accept_Supplements", + "OTA_HotelRatePlanNotif_accept_FreeNightsOffers", + "OTA_HotelRatePlanNotif_accept_FamilyOffers", + "OTA_HotelRatePlanNotif_accept_overlay", + "OTA_HotelRatePlanNotif_accept_RatePlanJoin", + "OTA_HotelRatePlanNotif_accept_OfferRule_BookingOffset", + "OTA_HotelRatePlanNotif_accept_OfferRule_DOWLOS" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index 7adc4b3..c9bf79c 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -8,19 +8,289 @@ handshaking functionality with configurable supported actions and capabilities. import asyncio import json -from typing import Dict, List, Optional, Any +import inspect +from typing import Dict, List, Optional, Any, Union, Tuple, Type from xml.etree import ElementTree as ET +from dataclasses import dataclass +from enum import Enum, IntEnum from .generated.alpinebits import OtaPingRq, OtaPingRs, WarningStatus from xsdata_pydantic.bindings import XmlSerializer from xsdata.formats.dataclass.serializers.config import SerializerConfig +from abc import ABC, abstractmethod + + +class HttpStatusCode(IntEnum): + """Allowed HTTP status codes for AlpineBits responses.""" + OK = 200 + BAD_REQUEST = 400 + UNAUTHORIZED = 401 + INTERNAL_SERVER_ERROR = 500 + + + +class AlpineBitsActionName(Enum): + """Enum for AlpineBits action names with capability and request name mappings.""" + + # Format: (capability_name, actual_request_name) + OTA_PING = ("action_OTA_Ping", "OTA_Ping:Handshaking") + OTA_READ = ("action_OTA_Read", "OTA_Read:GuestRequests") + OTA_HOTEL_AVAIL_NOTIF = ("action_OTA_HotelAvailNotif", "OTA_HotelAvailNotif") + OTA_HOTEL_RES_NOTIF_GUEST_REQUESTS = ("action_OTA_HotelResNotif_GuestRequests", + "OTA_HotelResNotif:GuestRequests") + OTA_HOTEL_DESCRIPTIVE_CONTENT_NOTIF_INVENTORY = ("action_OTA_HotelDescriptiveContentNotif_Inventory", + "OTA_HotelDescriptiveContentNotif:Inventory") + OTA_HOTEL_DESCRIPTIVE_CONTENT_NOTIF_INFO = ("action_OTA_HotelDescriptiveContentNotif_Info", + "OTA_HotelDescriptiveContentNotif:Info") + OTA_HOTEL_DESCRIPTIVE_INFO_INVENTORY = ("action_OTA_HotelDescriptiveInfo_Inventory", + "OTA_HotelDescriptiveInfo:Inventory") + OTA_HOTEL_DESCRIPTIVE_INFO_INFO = ("action_OTA_HotelDescriptiveInfo_Info", + "OTA_HotelDescriptiveInfo:Info") + OTA_HOTEL_RATE_PLAN_NOTIF_RATE_PLANS = ("action_OTA_HotelRatePlanNotif_RatePlans", + "OTA_HotelRatePlanNotif:RatePlans") + OTA_HOTEL_RATE_PLAN_BASE_RATES = ("action_OTA_HotelRatePlan_BaseRates", + "OTA_HotelRatePlan:BaseRates") + + def __init__(self, capability_name: str, request_name: str): + self.capability_name = capability_name + self.request_name = request_name + + @classmethod + def get_by_capability_name(cls, capability_name: str) -> Optional['AlpineBitsActionName']: + """Get action enum by capability name.""" + for action in cls: + if action.capability_name == capability_name: + return action + return None + + @classmethod + def get_by_request_name(cls, request_name: str) -> Optional['AlpineBitsActionName']: + """Get action enum by request name.""" + for action in cls: + if action.request_name == request_name: + return action + return None + + +class Version(str, Enum): + """Enum for AlpineBits versions.""" + V2024_10 = "2024-10" + V2022_10 = "2022-10" + # Add other versions as needed + + + +@dataclass +class AlpineBitsResponse: + """Response data structure for AlpineBits actions.""" + xml_content: str + status_code: HttpStatusCode = HttpStatusCode.OK + + def __post_init__(self): + """Validate that status code is one of the allowed values.""" + if self.status_code not in [200, 400, 401, 500]: + raise ValueError(f"Invalid status code {self.status_code}. Must be 200, 400, 401, or 500") + + +# Abstract base class for AlpineBits Action +class AlpineBitsAction(ABC): + """Abstract base class for handling AlpineBits actions.""" + + name: AlpineBitsActionName + version: Version | list[Version] # list of versions in case action supports multiple versions + + async def handle(self, action: str, request_xml: str, version: Version) -> AlpineBitsResponse: + """ + Handle the incoming request XML and return response XML. + + Default implementation returns "not implemented" error. + Override this method in subclasses to provide actual functionality. + + Args: + action: The action to perform (e.g., "OTA_PingRQ") + request_xml: The XML request body as string + version: The AlpineBits version + + Returns: + AlpineBitsResponse with error or actual response + """ + return_string = f"Error: Action {action} not implemented" + return AlpineBitsResponse(return_string, HttpStatusCode.BAD_REQUEST) + + async def check_version_supported(self, version: Version) -> bool: + """ + Check if the action supports the given version. + + Args: + version: The AlpineBits version to check + Returns: + True if supported, False otherwise + """ + if isinstance(self.version, list): + return version in self.version + return version == self.version + class ServerCapabilities: - pass + """ + Automatically discovers AlpineBitsAction implementations and generates capabilities. + """ + + def __init__(self): + self.action_registry: Dict[str, Type[AlpineBitsAction]] = {} + self._discover_actions() + + def _discover_actions(self): + """Discover all AlpineBitsAction implementations in the current module.""" + current_module = inspect.getmodule(self) + + for name, obj in inspect.getmembers(current_module): + if (inspect.isclass(obj) and + issubclass(obj, AlpineBitsAction) and + obj != AlpineBitsAction): + + # Check if this action is actually implemented (not just returning default) + if self._is_action_implemented(obj): + action_instance = obj() + if hasattr(action_instance, 'name'): + # Use capability name for the registry key + self.action_registry[action_instance.name.capability_name] = obj + + def _is_action_implemented(self, action_class: Type[AlpineBitsAction]) -> bool: + """ + Check if an action is actually implemented or just uses the default behavior. + This is a simple check - in practice, you might want more sophisticated detection. + """ + # Check if the class has overridden the handle method + if 'handle' in action_class.__dict__: + return True + return False + + def get_capabilities_dict(self) -> Dict: + """ + Generate the capabilities dictionary based on discovered actions. + + Returns: + Dictionary matching the AlpineBits capabilities format + """ + versions_dict = {} + + for action_name, action_class in self.action_registry.items(): + action_instance = action_class() + + # Get supported versions for this action + if isinstance(action_instance.version, list): + supported_versions = action_instance.version + else: + supported_versions = [action_instance.version] + + # Add action to each supported version + for version in supported_versions: + version_str = version.value + + if version_str not in versions_dict: + versions_dict[version_str] = { + "version": version_str, + "actions": [] + } + + action_dict = {"action": action_name} + + # Add supports field if the action has custom supports + if hasattr(action_instance, 'supports') and action_instance.supports: + action_dict["supports"] = action_instance.supports + + versions_dict[version_str]["actions"].append(action_dict) + + return { + "versions": list(versions_dict.values()) + } + + def get_capabilities_json(self) -> str: + """Get capabilities as formatted JSON string.""" + return json.dumps(self.get_capabilities_dict(), indent=2) + + def get_supported_actions(self) -> List[str]: + """Get list of all supported action names.""" + return list(self.action_registry.keys()) + + +# Sample Action Implementations for demonstration + +class PingAction(AlpineBitsAction): + """Implementation for OTA_Ping action (handshaking).""" + + def __init__(self): + self.name = AlpineBitsActionName.OTA_PING + self.version = [Version.V2024_10, Version.V2022_10] # Supports multiple versions + + async def handle(self, action: str, request_xml: str, version: Version) -> AlpineBitsResponse: + """Handle ping requests.""" + response_xml = f''' + + + Ping successful for version {version.value} +''' + return AlpineBitsResponse(response_xml, HttpStatusCode.OK) + + +class ReadAction(AlpineBitsAction): + """Implementation for OTA_Read action.""" + + def __init__(self): + self.name = AlpineBitsActionName.OTA_READ + self.version = [Version.V2024_10, Version.V2022_10] + + async def handle(self, action: str, request_xml: str, version: Version) -> AlpineBitsResponse: + """Handle read requests.""" + response_xml = f''' + + + Read operation successful for {version.value} +''' + return AlpineBitsResponse(response_xml, HttpStatusCode.OK) + + +class HotelAvailNotifAction(AlpineBitsAction): + """Implementation for Hotel Availability Notification action with supports.""" + + def __init__(self): + self.name = AlpineBitsActionName.OTA_HOTEL_AVAIL_NOTIF + self.version = Version.V2024_10 + self.supports = [ + "OTA_HotelAvailNotif_accept_rooms", + "OTA_HotelAvailNotif_accept_categories", + "OTA_HotelAvailNotif_accept_deltas", + "OTA_HotelAvailNotif_accept_BookingThreshold" + ] + + async def handle(self, action: str, request_xml: str, version: Version) -> AlpineBitsResponse: + """Handle hotel availability notifications.""" + response_xml = ''' + + +''' + return AlpineBitsResponse(response_xml, HttpStatusCode.OK) + + +class GuestRequestsAction(AlpineBitsAction): + """Unimplemented action - will not appear in capabilities.""" + + def __init__(self): + self.name = AlpineBitsActionName.OTA_HOTEL_RES_NOTIF_GUEST_REQUESTS + self.version = Version.V2024_10 + + # Note: This class doesn't override the handle method, so it won't be discovered + + + + + + @@ -32,369 +302,182 @@ class AlpineBitsServer: for hotel data exchange. It maintains a registry of supported actions and their capabilities, and can respond to handshake requests with its capabilities. """ - + def __init__(self): - """Initialize the AlpineBits server with default supported actions.""" - # Define supported versions and their capabilities - self.supported_versions = { - "2024-10": { - "actions": [ - { - "action": "action_OTA_Read" - }, - { - "action": "action_OTA_HotelResNotif_GuestRequests" - }, - { - "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" - } - ] - }, - "2022-10": { - "actions": [ - { - "action": "action_OTA_Read" - }, - { - "action": "action_OTA_HotelResNotif_GuestRequests" - }, - { - "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" - } - ] - } - } - - # XML serializer configuration - self.serializer_config = SerializerConfig( - pretty_print=True, - xml_declaration=True, - encoding="UTF-8" - ) - self.xml_serializer = XmlSerializer(config=self.serializer_config) - - # Namespace map for XML serialization - self.ns_map = { - None: "http://www.opentravel.org/OTA/2003/05", - "xsi": "http://www.w3.org/2001/XMLSchema-instance" - } - - def add_supported_action(self, version: str, action: str, supports: Optional[List[str]] = None): - """ - Add a supported action to a specific version. - - Args: - version: AlpineBits version (e.g., "2024-10") - action: Action name (e.g., "action_OTA_HotelInvCountNotif") - supports: List of supported features for this action (optional) - """ - if version not in self.supported_versions: - self.supported_versions[version] = {"actions": []} - - action_dict = {"action": action} - if supports: - action_dict["supports"] = supports - - self.supported_versions[version]["actions"].append(action_dict) - - def remove_supported_action(self, version: str, action: str): - """ - Remove a supported action from a specific version. - - Args: - version: AlpineBits version - action: Action name to remove - """ - if version in self.supported_versions: - actions = self.supported_versions[version]["actions"] - self.supported_versions[version]["actions"] = [ - a for a in actions if a["action"] != action - ] - - def is_action_supported(self, action: str, version: str = None) -> bool: - """ - Check if an action is supported by the server. - - Args: - action: Action name to check - version: Specific version to check (if None, checks all versions) - - Returns: - True if action is supported, False otherwise - """ - if version: - if version not in self.supported_versions: - return False - actions = self.supported_versions[version]["actions"] - return any(a["action"] == action for a in actions) - - # Check all versions - for ver_data in self.supported_versions.values(): - if any(a["action"] == action for a in ver_data["actions"]): - return True - return False - + self.capabilities = ServerCapabilities() + self._action_instances = {} + self._initialize_action_instances() + + def _initialize_action_instances(self): + """Initialize instances of all discovered action classes.""" + for capability_name, action_class in self.capabilities.action_registry.items(): + self._action_instances[capability_name] = action_class() + + def get_capabilities(self) -> Dict: + """Get server capabilities.""" + return self.capabilities.get_capabilities_dict() + def get_capabilities_json(self) -> str: + """Get server capabilities as JSON.""" + return self.capabilities.get_capabilities_json() + + async def handle_request(self, request_action_name: str, request_xml: str, version: str = "2024-10") -> AlpineBitsResponse: """ - Get the server capabilities as JSON string for handshake responses. - - Returns: - JSON string containing supported versions and actions - """ - capabilities = { - "versions": [ - { - "version": version, - "actions": version_data["actions"] - } - for version, version_data in self.supported_versions.items() - ] - } - return json.dumps(capabilities, indent=4) - - async def handle_request(self, action: str, request_xml: str) -> str: - """ - Handle an incoming AlpineBits request. + Handle an incoming AlpineBits request by routing to appropriate action handler. Args: - action: The action to perform (e.g., "action_OTA_Ping") + request_action_name: The action name from the request (e.g., "OTA_Read:GuestRequests") request_xml: The XML request body + version: The AlpineBits version (defaults to "2024-10") Returns: - XML response string - - Raises: - ValueError: If the action is not supported - """ - # Parse the action to determine the handler method - if action == "action_OTA_Ping": - return await self.handle_ping(request_xml) - elif action == "action_OTA_Read": - return await self.handle_read(request_xml) - elif action == "action_OTA_HotelResNotif_GuestRequests": - return await self.handle_guest_requests(request_xml) - elif action == "action_OTA_HotelResNotif_GuestRequests_StatusUpdate": - return await self.handle_guest_requests_status_update(request_xml) - else: - # Return error response for unsupported actions - return await self.handle_unsupported_action(action, request_xml) - - async def handle_ping(self, request_xml: str) -> str: - """ - Handle OTA_Ping requests (handshake). - - Args: - request_xml: The OTA_PingRQ XML request - - Returns: - OTA_PingRS XML response with server capabilities + AlpineBitsResponse with the result """ + # Convert string version to enum try: - # Parse the incoming request to extract any version information - root = ET.fromstring(request_xml) - version = root.get("Version", "8.000") - - # Extract echo data if present - echo_data_elem = root.find(".//{http://www.opentravel.org/OTA/2003/05}EchoData") - echo_data = None - if echo_data_elem is not None and echo_data_elem.text: - echo_data = echo_data_elem.text.strip() - - # Get capabilities JSON - capabilities_json = self.get_capabilities_json() - - # Create warning with capabilities - warning = OtaPingRs.Warnings.Warning( - type_value="11", - status=WarningStatus.ALPINEBITS_HANDSHAKE, - content=[capabilities_json] + version_enum = Version(version) + except ValueError: + return AlpineBitsResponse( + f"Error: Unsupported version {version}", + HttpStatusCode.BAD_REQUEST ) - - warnings = OtaPingRs.Warnings(warning=[warning]) - - # Create successful ping response - ping_response = OtaPingRs( - version=version, - success=None, # Empty success element - warnings=warnings, - echo_data=echo_data or capabilities_json + + # Find the action by request name + action_enum = AlpineBitsActionName.get_by_request_name(request_action_name) + if not action_enum: + return AlpineBitsResponse( + f"Error: Unknown action {request_action_name}", + HttpStatusCode.BAD_REQUEST ) - - # Serialize to XML - return self.xml_serializer.render(ping_response, ns_map=self.ns_map) - + + # Check if we have an implementation for this action + capability_name = action_enum.capability_name + if capability_name not in self._action_instances: + return AlpineBitsResponse( + f"Error: Action {request_action_name} is not implemented", + HttpStatusCode.BAD_REQUEST + ) + + action_instance = self._action_instances[capability_name] + + # Check if the action supports the requested version + if not await action_instance.check_version_supported(version_enum): + return AlpineBitsResponse( + f"Error: Action {request_action_name} does not support version {version}", + HttpStatusCode.BAD_REQUEST + ) + + # Handle the request + try: + return await action_instance.handle(request_action_name, request_xml, version_enum) except Exception as e: - # Return error response if something goes wrong - return await self.create_error_response( - "OTA_PingRS", - "8.000", - f"Failed to process ping request: {str(e)}" + return AlpineBitsResponse( + f"Error: Internal server error while processing {request_action_name}: {str(e)}", + HttpStatusCode.INTERNAL_SERVER_ERROR ) - - async def handle_read(self, request_xml: str) -> str: + + def get_supported_request_names(self) -> List[str]: + """Get all supported request names (not capability names).""" + request_names = [] + for capability_name in self._action_instances.keys(): + action_enum = AlpineBitsActionName.get_by_capability_name(capability_name) + if action_enum: + request_names.append(action_enum.request_name) + return sorted(request_names) + + def is_action_supported(self, request_action_name: str, version: str = None) -> bool: """ - Handle OTA_Read requests. + Check if a request action is supported. Args: - request_xml: The OTA_ReadRQ XML request + request_action_name: The request action name (e.g., "OTA_Read:GuestRequests") + version: Optional version to check Returns: - XML response (placeholder implementation) + True if supported, False otherwise """ - # Placeholder implementation - return unsupported for now - return await self.create_error_response( - "OTA_ReadRS", - "8.000", - "OTA_Read action not yet implemented" - ) - - async def handle_guest_requests(self, request_xml: str) -> str: - """ - Handle guest request notifications. + action_enum = AlpineBitsActionName.get_by_request_name(request_action_name) + if not action_enum: + return False - Args: - request_xml: The guest request XML - - Returns: - XML response (placeholder implementation) - """ - # Placeholder implementation - return unsupported for now - return await self.create_error_response( - "OTA_HotelResNotifRS", - "8.000", - "Guest requests action not yet implemented" - ) - - async def handle_guest_requests_status_update(self, request_xml: str) -> str: - """ - Handle guest request status updates. - - Args: - request_xml: The status update XML - - Returns: - XML response (placeholder implementation) - """ - # Placeholder implementation - return unsupported for now - return await self.create_error_response( - "OTA_HotelResNotifRS", - "8.000", - "Guest request status updates not yet implemented" - ) - - async def handle_unsupported_action(self, action: str, request_xml: str) -> str: - """ - Handle unsupported actions by returning an appropriate error response. - - Args: - action: The unsupported action name - request_xml: The request XML - - Returns: - XML error response - """ - return await self.create_error_response( - "OTA_PingRS", # Use generic ping response for unknown actions - "8.000", - f"Action '{action}' is not supported by this server" - ) - - async def create_error_response(self, response_type: str, version: str, error_message: str) -> str: - """ - Create a generic error response. - - Args: - response_type: The response type (e.g., "OTA_PingRS") - version: Version number - error_message: Error message to include - - Returns: - XML error response string - """ - # Create a basic error response structure - error_xml = f''' -<{response_type} xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://www.opentravel.org/OTA/2003/05" - xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 {response_type}.xsd" - Version="{version}"> - - {error_message} - -''' - return error_xml - - def get_supported_actions(self, version: str = None) -> List[str]: - """ - Get list of supported action names. - - Args: - version: Specific version to get actions for (if None, returns all) - - Returns: - List of supported action names - """ - actions = set() + capability_name = action_enum.capability_name + if capability_name not in self._action_instances: + return False if version: - if version in self.supported_versions: - for action_data in self.supported_versions[version]["actions"]: - actions.add(action_data["action"]) - else: - for version_data in self.supported_versions.values(): - for action_data in version_data["actions"]: - actions.add(action_data["action"]) + try: + version_enum = Version(version) + action_instance = self._action_instances[capability_name] + # This would need to be async, but for simplicity we'll just check if version exists + if isinstance(action_instance.version, list): + return version_enum in action_instance.version + else: + return action_instance.version == version_enum + except ValueError: + return False - return sorted(list(actions)) - - def get_supported_versions(self) -> List[str]: - """ - Get list of supported AlpineBits versions. - - Returns: - List of supported version strings - """ - return list(self.supported_versions.keys()) + return True -# Example usage and testing async def main(): - """Example usage of the AlpineBits server.""" + """Demonstrate the automatic capabilities discovery and request handling.""" + print("๐Ÿš€ AlpineBits Server Capabilities Discovery & Request Handling Demo") + print("=" * 70) + + # Create server instance server = AlpineBitsServer() - # Add additional supported actions - server.add_supported_action( - "2024-10", - "action_OTA_HotelInvCountNotif", - [ - "OTA_HotelInvCountNotif_accept_rooms", - "OTA_HotelInvCountNotif_accept_categories", - "OTA_HotelInvCountNotif_accept_deltas" - ] - ) + print("\n๐Ÿ“‹ Discovered Action Classes:") + print("-" * 30) + for capability_name, action_class in server.capabilities.action_registry.items(): + action_enum = AlpineBitsActionName.get_by_capability_name(capability_name) + request_name = action_enum.request_name if action_enum else "unknown" + print(f"โœ… {capability_name} -> {action_class.__name__}") + print(f" Request name: {request_name}") - # Example ping request - ping_request = ''' - - {"test": "handshake request"} -''' + print(f"\n๐Ÿ“Š Total Implemented Actions: {len(server.capabilities.get_supported_actions())}") - # Handle the request - try: - response = await server.handle_request("action_OTA_Ping", ping_request) - print("Response:") - print(response) + print("\n๐Ÿ” Generated Capabilities JSON:") + print("-" * 30) + capabilities_json = server.get_capabilities_json() + print(capabilities_json) + + print("\n๐ŸŽฏ Supported Request Names:") + print("-" * 30) + for request_name in server.get_supported_request_names(): + print(f" โ€ข {request_name}") + + print("\n๐Ÿงช Testing Request Handling:") + print("-" * 30) + + test_xml = "sample request" + + # Test different request formats + test_cases = [ + ("OTA_Ping", "2024-10"), + ("OTA_Read:GuestRequests", "2024-10"), + ("OTA_Read", "2022-10"), + ("OTA_HotelAvailNotif", "2024-10"), + ("UnknownAction", "2024-10"), + ("OTA_Ping", "unsupported-version") + ] + + for request_name, version in test_cases: + print(f"\n๏ฟฝ Testing: {request_name} (v{version})") - # Test unsupported action - print("\n--- Testing unsupported action ---") - unsupported_response = await server.handle_request("action_NOT_SUPPORTED", ping_request) - print("Unsupported action response:") - print(unsupported_response) + # Check if supported first + is_supported = server.is_action_supported(request_name, version) + print(f" Supported: {is_supported}") - except Exception as e: - print(f"Error: {e}") + # Handle the request + response = await server.handle_request(request_name, test_xml, version) + print(f" Status: {response.status_code}") + if len(response.xml_content) > 100: + print(f" Response: {response.xml_content[:100]}...") + else: + print(f" Response: {response.xml_content}") + + print("\nโœ… Demo completed successfully!") if __name__ == "__main__": diff --git a/src/alpine_bits_python/util/handshake_util.py b/src/alpine_bits_python/util/handshake_util.py index dbbb66f..0ecb1af 100644 --- a/src/alpine_bits_python/util/handshake_util.py +++ b/src/alpine_bits_python/util/handshake_util.py @@ -25,6 +25,13 @@ def main(): parsed_result = parser.from_string(xml, OtaPingRq) print(parsed_result.echo_data) + + # save json in echo_data to file with indents + output_path = "parsed_echo_data.json" + with open(output_path, "w", encoding="utf-8") as out_f: + import json + json.dump(json.loads(parsed_result.echo_data), out_f, indent=4) + print(f"Saved echo_data json to {output_path}") diff --git a/test/test_discovery.py b/test/test_discovery.py new file mode 100644 index 0000000..28b347a --- /dev/null +++ b/test/test_discovery.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +""" +Quick test to demonstrate how the ServerCapabilities automatically +discovers implemented vs unimplemented actions. +""" + +from alpine_bits_python.alpinebits_server import ( + ServerCapabilities, + AlpineBitsAction, + AlpineBitsActionName, + Version, + AlpineBitsResponse, + HttpStatusCode +) +import asyncio + +class NewImplementedAction(AlpineBitsAction): + """A new action that IS implemented.""" + + def __init__(self): + self.name = AlpineBitsActionName.OTA_HOTEL_DESCRIPTIVE_INFO_INFO + self.version = Version.V2024_10 + + async def handle(self, action: str, request_xml: str, version: Version) -> AlpineBitsResponse: + """This action is implemented.""" + return AlpineBitsResponse("Implemented!", HttpStatusCode.OK) + +class NewUnimplementedAction(AlpineBitsAction): + """A new action that is NOT implemented (no handle override).""" + + def __init__(self): + self.name = AlpineBitsActionName.OTA_HOTEL_DESCRIPTIVE_CONTENT_NOTIF_INFO + self.version = Version.V2024_10 + + # Notice: No handle method override - will use default "not implemented" + +async def main(): + print("๐Ÿ” Testing Action Discovery Logic") + print("=" * 50) + + # Create capabilities and see what gets discovered + capabilities = ServerCapabilities() + + print("๐Ÿ“‹ Actions found by discovery:") + for action_name in capabilities.get_supported_actions(): + print(f" โœ… {action_name}") + + print(f"\n๐Ÿ“Š Total discovered: {len(capabilities.get_supported_actions())}") + + # Test the new implemented action + implemented_action = NewImplementedAction() + result = await implemented_action.handle("test", "", Version.V2024_10) + print(f"\n๐ŸŸข NewImplementedAction result: {result.xml_content}") + + # Test the unimplemented action (should use default behavior) + unimplemented_action = NewUnimplementedAction() + result = await unimplemented_action.handle("test", "", Version.V2024_10) + print(f"๐Ÿ”ด NewUnimplementedAction result: {result.xml_content}") + +if __name__ == "__main__": + asyncio.run(main()) \ No newline at end of file From b432e5e5cc0f0cc16bf8e4923d4c3ab3f89eab62 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 11:50:21 +0200 Subject: [PATCH 13/16] food --- src/alpine_bits_python/alpinebits_server.py | 67 +++++++++++++++------ 1 file changed, 49 insertions(+), 18 deletions(-) diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index c9bf79c..b3b2a52 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -18,6 +18,7 @@ from .generated.alpinebits import OtaPingRq, OtaPingRs, WarningStatus from xsdata_pydantic.bindings import XmlSerializer from xsdata.formats.dataclass.serializers.config import SerializerConfig from abc import ABC, abstractmethod +from xsdata_pydantic.bindings import XmlParser class HttpStatusCode(IntEnum): @@ -143,6 +144,7 @@ class ServerCapabilities: def __init__(self): self.action_registry: Dict[str, Type[AlpineBitsAction]] = {} self._discover_actions() + self.capability_dict = None def _discover_actions(self): """Discover all AlpineBitsAction implementations in the current module.""" @@ -170,12 +172,11 @@ class ServerCapabilities: return True return False - def get_capabilities_dict(self) -> Dict: + + def create_capabilities_dict(self) -> None: """ Generate the capabilities dictionary based on discovered actions. - Returns: - Dictionary matching the AlpineBits capabilities format """ versions_dict = {} @@ -205,10 +206,22 @@ class ServerCapabilities: action_dict["supports"] = action_instance.supports versions_dict[version_str]["actions"].append(action_dict) + + self.capability_dict = {"versions": list(versions_dict.values())} + + - return { - "versions": list(versions_dict.values()) - } + return None + + + def get_capabilities_dict(self) -> Dict: + """ + Get capabilities as a dictionary. Generates if not already created. + """ + + if self.capability_dict is None: + self.create_capabilities_dict() + return self.capability_dict def get_capabilities_json(self) -> str: """Get capabilities as formatted JSON string.""" @@ -228,13 +241,34 @@ class PingAction(AlpineBitsAction): self.name = AlpineBitsActionName.OTA_PING self.version = [Version.V2024_10, Version.V2022_10] # Supports multiple versions - async def handle(self, action: str, request_xml: str, version: Version) -> AlpineBitsResponse: + async def handle(self, action: str, request_xml: str, version: Version, server_capabilities: None | ServerCapabilities = None) -> AlpineBitsResponse: """Handle ping requests.""" - response_xml = f''' - - - Ping successful for version {version.value} -''' + + if server_capabilities is None: + return AlpineBitsResponse("Error: Something went wrong", HttpStatusCode.INTERNAL_SERVER_ERROR) + + + # Parse the incoming request XML and extract EchoData + parser = XmlParser() + + try: + parsed_request = parser.from_string(request_xml, OtaPingRq) + echo_data = json.loads(parsed_request.echo_data) + except Exception as e: + return AlpineBitsResponse(f"Error: Invalid XML request - {str(e)}", HttpStatusCode.BAD_REQUEST) + + + + + + + + + + + + + return AlpineBitsResponse(response_xml, HttpStatusCode.OK) @@ -291,9 +325,6 @@ class GuestRequestsAction(AlpineBitsAction): - - - class AlpineBitsServer: """ Asynchronous AlpineBits server for handling hotel data exchange requests. @@ -454,12 +485,12 @@ async def main(): # Test different request formats test_cases = [ - ("OTA_Ping", "2024-10"), + ("OTA_Ping:Handshaking", "2024-10"), ("OTA_Read:GuestRequests", "2024-10"), - ("OTA_Read", "2022-10"), + ("OTA_Read:GuestRequest", "2022-10"), ("OTA_HotelAvailNotif", "2024-10"), ("UnknownAction", "2024-10"), - ("OTA_Ping", "unsupported-version") + ("OTA_Ping:Handshaking", "unsupported-version") ] for request_name, version in test_cases: From 03556df10ecfbeed2bed4c6f4337bc950cb49524 Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 13:13:22 +0200 Subject: [PATCH 14/16] Handshake first attempt --- src/alpine_bits_python/alpinebits_server.py | 58 +++++++++++++++++++-- test_handshake.py | 29 +++++++++++ 2 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 test_handshake.py diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index b3b2a52..0bcc388 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -257,13 +257,57 @@ class PingAction(AlpineBitsAction): except Exception as e: return AlpineBitsResponse(f"Error: Invalid XML request - {str(e)}", HttpStatusCode.BAD_REQUEST) + # compare echo data with capabilities, create a dictionary containing the matching capabilities + capabilities_dict = server_capabilities.get_capabilities_dict() + matching_capabilities = {"versions": []} + # Iterate through client's requested versions + for client_version in echo_data.get("versions", []): + client_version_str = client_version.get("version", "") + + # Find matching server version + for server_version in capabilities_dict["versions"]: + if server_version["version"] == client_version_str: + # Found a matching version, now find common actions + matching_version = { + "version": client_version_str, + "actions": [] + } + + # Get client's requested actions for this version + client_actions = {action.get("action", ""): action for action in client_version.get("actions", [])} + server_actions = {action.get("action", ""): action for action in server_version.get("actions", [])} + + # Find common actions + for action_name in client_actions: + if action_name in server_actions: + # Use server's action definition (includes our supports) + matching_version["actions"].append(server_actions[action_name]) + + # Only add version if there are common actions + if matching_version["actions"]: + matching_capabilities["versions"].append(matching_version) + break + # Debug print to see what we matched + print("๐Ÿ” Client requested capabilities:") + print(json.dumps(echo_data, indent=2)) + print("\n๐Ÿ  Server capabilities:") + print(json.dumps(capabilities_dict, indent=2)) + print("\n๐Ÿค Matching capabilities:") + print(json.dumps(matching_capabilities, indent=2)) + # Create successful ping response with matched capabilities + capabilities_json = json.dumps(matching_capabilities, indent=2) - - - + response_xml = f''' + + + + {capabilities_json} + + {capabilities_json} +''' @@ -400,7 +444,11 @@ class AlpineBitsServer: # Handle the request try: - return await action_instance.handle(request_action_name, request_xml, version_enum) + # Special case for ping action - pass server capabilities + if capability_name == "action_OTA_Ping": + return await action_instance.handle(request_action_name, request_xml, version_enum, self.capabilities) + else: + return await action_instance.handle(request_action_name, request_xml, version_enum) except Exception as e: return AlpineBitsResponse( f"Error: Internal server error while processing {request_action_name}: {str(e)}", @@ -487,7 +535,7 @@ async def main(): test_cases = [ ("OTA_Ping:Handshaking", "2024-10"), ("OTA_Read:GuestRequests", "2024-10"), - ("OTA_Read:GuestRequest", "2022-10"), + ("OTA_Read:GuestRequests", "2022-10"), ("OTA_HotelAvailNotif", "2024-10"), ("UnknownAction", "2024-10"), ("OTA_Ping:Handshaking", "unsupported-version") diff --git a/test_handshake.py b/test_handshake.py new file mode 100644 index 0000000..47ff199 --- /dev/null +++ b/test_handshake.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +""" +Test the handshake functionality with the real AlpineBits sample file. +""" + +import asyncio +from alpine_bits_python.alpinebits_server import AlpineBitsServer + +async def main(): + print("๐Ÿ”„ Testing AlpineBits Handshake with Sample File") + print("=" * 60) + + # Create server instance + server = AlpineBitsServer() + + # Read the sample handshake request + with open("AlpineBits-HotelData-2024-10/files/samples/Handshake/Handshake-OTA_PingRQ.xml", "r") as f: + ping_request_xml = f.read() + + print("๐Ÿ“ค Sending handshake request...") + + # Handle the ping request + response = await server.handle_request("OTA_Ping:Handshaking", ping_request_xml, "2024-10") + + print(f"\n๐Ÿ“ฅ Response Status: {response.status_code}") + print(f"๐Ÿ“„ Response XML:\n{response.xml_content}") + +if __name__ == "__main__": + asyncio.run(main()) \ No newline at end of file From 89cbb3301b48c5927a6e556be62abc37a69ad41a Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 13:38:53 +0200 Subject: [PATCH 15/16] Handshake looks servicable --- echo_data_response.json | 135 ++++++++++++++++++ src/alpine_bits_python/alpinebits_server.py | 32 +++-- src/alpine_bits_python/util/handshake_util.py | 17 ++- 3 files changed, 171 insertions(+), 13 deletions(-) create mode 100644 echo_data_response.json diff --git a/echo_data_response.json b/echo_data_response.json new file mode 100644 index 0000000..fd92356 --- /dev/null +++ b/echo_data_response.json @@ -0,0 +1,135 @@ +{ + "versions": [ + { + "version": "2024-10", + "actions": [ + { + "action": "action_OTA_Read" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" + }, + { + "action": "action_OTA_HotelInvCountNotif", + "supports": [ + "OTA_HotelInvCountNotif_accept_rooms", + "OTA_HotelInvCountNotif_accept_categories", + "OTA_HotelInvCountNotif_accept_deltas", + "OTA_HotelInvCountNotif_accept_out_of_market", + "OTA_HotelInvCountNotif_accept_out_of_order", + "OTA_HotelInvCountNotif_accept_complete_set", + "OTA_HotelInvCountNotif_accept_closing_seasons" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Inventory", + "supports": [ + "OTA_HotelDescriptiveContentNotif_Inventory_use_rooms", + "OTA_HotelDescriptiveContentNotif_Inventory_occupancy_children" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Info" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Inventory" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Info" + }, + { + "action": "action_OTA_HotelRatePlanNotif_RatePlans", + "supports": [ + "OTA_HotelRatePlanNotif_accept_ArrivalDOW", + "OTA_HotelRatePlanNotif_accept_DepartureDOW", + "OTA_HotelRatePlanNotif_accept_RatePlan_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_RoomType_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_mixed_BookingRule", + "OTA_HotelRatePlanNotif_accept_Supplements", + "OTA_HotelRatePlanNotif_accept_FreeNightsOffers", + "OTA_HotelRatePlanNotif_accept_FamilyOffers", + "OTA_HotelRatePlanNotif_accept_full", + "OTA_HotelRatePlanNotif_accept_overlay", + "OTA_HotelRatePlanNotif_accept_RatePlanJoin", + "OTA_HotelRatePlanNotif_accept_OfferRule_BookingOffset", + "OTA_HotelRatePlanNotif_accept_OfferRule_DOWLOS" + ] + }, + { + "action": "action_OTA_HotelRatePlan_BaseRates", + "supports": [ + "OTA_HotelRatePlan_BaseRates_deltas" + ] + }, + { + "action": "action_OTA_HotelPostEventNotif_EventReports" + } + ] + }, + { + "version": "2022-10", + "actions": [ + { + "action": "action_OTA_Ping" + }, + { + "action": "action_OTA_Read" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests" + }, + { + "action": "action_OTA_HotelResNotif_GuestRequests_StatusUpdate" + }, + { + "action": "action_OTA_HotelInvCountNotif", + "supports": [ + "OTA_HotelInvCountNotif_accept_rooms", + "OTA_HotelInvCountNotif_accept_categories", + "OTA_HotelInvCountNotif_accept_deltas", + "OTA_HotelInvCountNotif_accept_out_of_market", + "OTA_HotelInvCountNotif_accept_out_of_order", + "OTA_HotelInvCountNotif_accept_complete_set", + "OTA_HotelInvCountNotif_accept_closing_seasons" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Inventory", + "supports": [ + "OTA_HotelDescriptiveContentNotif_Inventory_use_rooms", + "OTA_HotelDescriptiveContentNotif_Inventory_occupancy_children" + ] + }, + { + "action": "action_OTA_HotelDescriptiveContentNotif_Info" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Inventory" + }, + { + "action": "action_OTA_HotelDescriptiveInfo_Info" + }, + { + "action": "action_OTA_HotelRatePlanNotif_RatePlans", + "supports": [ + "OTA_HotelRatePlanNotif_accept_ArrivalDOW", + "OTA_HotelRatePlanNotif_accept_DepartureDOW", + "OTA_HotelRatePlanNotif_accept_RatePlan_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_RoomType_BookingRule", + "OTA_HotelRatePlanNotif_accept_RatePlan_mixed_BookingRule", + "OTA_HotelRatePlanNotif_accept_Supplements", + "OTA_HotelRatePlanNotif_accept_FreeNightsOffers", + "OTA_HotelRatePlanNotif_accept_FamilyOffers", + "OTA_HotelRatePlanNotif_accept_overlay", + "OTA_HotelRatePlanNotif_accept_RatePlanJoin", + "OTA_HotelRatePlanNotif_accept_OfferRule_BookingOffset", + "OTA_HotelRatePlanNotif_accept_OfferRule_DOWLOS" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index 0bcc388..f98100b 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -299,16 +299,24 @@ class PingAction(AlpineBitsAction): # Create successful ping response with matched capabilities capabilities_json = json.dumps(matching_capabilities, indent=2) - - response_xml = f''' - - - - {capabilities_json} - - {capabilities_json} -''' + warning = OtaPingRs.Warnings.Warning(type_value=WarningStatus.ALPINEBITS_HANDSHAKE.value, code="11", content=[capabilities_json]) + + warning_response = OtaPingRs.Warnings(warning=[warning]) + + response_ota_ping = OtaPingRs(version= "7.000", warnings=warning_response, echo_data=capabilities_json) + + + + + + config = SerializerConfig( + pretty_print=True, xml_declaration=True, encoding="UTF-8" + ) + + serializer = XmlSerializer(config=config) + + response_xml = serializer.render(response_ota_ping, ns_map={None: "http://www.opentravel.org/OTA/2003/05"}) @@ -338,7 +346,7 @@ class HotelAvailNotifAction(AlpineBitsAction): def __init__(self): self.name = AlpineBitsActionName.OTA_HOTEL_AVAIL_NOTIF - self.version = Version.V2024_10 + self.version = Version.V2022_10 self.supports = [ "OTA_HotelAvailNotif_accept_rooms", "OTA_HotelAvailNotif_accept_categories", @@ -450,6 +458,10 @@ class AlpineBitsServer: else: return await action_instance.handle(request_action_name, request_xml, version_enum) except Exception as e: + print(f"Error handling request {request_action_name}: {str(e)}") + # print stack trace for debugging + import traceback + traceback.print_exc() return AlpineBitsResponse( f"Error: Internal server error while processing {request_action_name}: {str(e)}", HttpStatusCode.INTERNAL_SERVER_ERROR diff --git a/src/alpine_bits_python/util/handshake_util.py b/src/alpine_bits_python/util/handshake_util.py index 0ecb1af..f82cbae 100644 --- a/src/alpine_bits_python/util/handshake_util.py +++ b/src/alpine_bits_python/util/handshake_util.py @@ -7,7 +7,7 @@ from xsdata_pydantic.bindings import XmlParser def main(): # test parsing a ping request sample - path = "AlpineBits-HotelData-2024-10/files/samples/Handshake/Handshake-OTA_PingRQ.xml" + path = "AlpineBits-HotelData-2024-10/files/samples/Handshake/Handshake-OTA_PingRS.xml" with open( path, "r", encoding="utf-8") as f: @@ -22,12 +22,23 @@ def main(): - parsed_result = parser.from_string(xml, OtaPingRq) + parsed_result = parser.from_string(xml, OtaPingRs) print(parsed_result.echo_data) + warning = parsed_result.warnings.warning[0] + + print(warning.type_value) + + print(type(warning.content)) + + print(warning.content[0]) + + + + # save json in echo_data to file with indents - output_path = "parsed_echo_data.json" + output_path = "echo_data_response.json" with open(output_path, "w", encoding="utf-8") as out_f: import json json.dump(json.loads(parsed_result.echo_data), out_f, indent=4) From feb14f9554e81d60c3b018ccf7469501d5ffeccb Mon Sep 17 00:00:00 2001 From: Jonas Linter Date: Thu, 25 Sep 2025 15:52:05 +0200 Subject: [PATCH 16/16] Attempting puplish action --- .github/workflows/publish.yaml | 27 +++++++++++++++++++++ output.xml | 2 +- src/alpine_bits_python/alpinebits_server.py | 4 +-- 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..ea18d98 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,27 @@ +name: "Publish" + +on: + push: + tags: + # Publish on any tag starting with a `v`, e.g., v0.1.0 + - v* + +jobs: + run: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + - name: Install uv + uses: astral-sh/setup-uv@v6 + - name: Install Python 3.13 + run: uv python install 3.13 + - name: Build + run: uv build + # Check that basic features work and we didn't miss to include crucial files + - name: Smoke test (wheel) + run: uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py + - name: Smoke test (source distribution) + run: uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_test.py + - name: Publish + run: uv publish --publish-url https://gitea.linter-home.com.com/api/packages/jonas/pypi --username jonas --password ${{ secrets.GITEA_TOKEN }} \ No newline at end of file diff --git a/output.xml b/output.xml index 38beaa5..71db37d 100644 --- a/output.xml +++ b/output.xml @@ -1,7 +1,7 @@ - + diff --git a/src/alpine_bits_python/alpinebits_server.py b/src/alpine_bits_python/alpinebits_server.py index f98100b..2ef0b3e 100644 --- a/src/alpine_bits_python/alpinebits_server.py +++ b/src/alpine_bits_python/alpinebits_server.py @@ -300,11 +300,11 @@ class PingAction(AlpineBitsAction): # Create successful ping response with matched capabilities capabilities_json = json.dumps(matching_capabilities, indent=2) - warning = OtaPingRs.Warnings.Warning(type_value=WarningStatus.ALPINEBITS_HANDSHAKE.value, code="11", content=[capabilities_json]) + warning = OtaPingRs.Warnings.Warning(status=WarningStatus.ALPINEBITS_HANDSHAKE.value, type_value="11", content=[capabilities_json]) warning_response = OtaPingRs.Warnings(warning=[warning]) - response_ota_ping = OtaPingRs(version= "7.000", warnings=warning_response, echo_data=capabilities_json) + response_ota_ping = OtaPingRs(version= "7.000", warnings=warning_response, echo_data=capabilities_json, success="")