Slight simplification but lets try a different tool
This commit is contained in:
47
output.xml
Normal file
47
output.xml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<OTA_ResRetrieveRS xmlns:None="http://www.opentravel.org/OTA/2003/05" Version="7.000">
|
||||||
|
<Success><Success/>
|
||||||
|
</Success>
|
||||||
|
<ReservationsList>
|
||||||
|
<HotelReservation CreateDateTime="2025-09-24T07:45:46.366406Z" ResStatus="Requested" RoomStayReservation="true">
|
||||||
|
<UniqueID Type="14" ID="6b34fe24ac2ff811"/>
|
||||||
|
<RoomStays>
|
||||||
|
<RoomStay>
|
||||||
|
<RoomTypes>
|
||||||
|
<RoomType RoomTypeCode="A" RoomClassificationCode="5" RoomType="8"/>
|
||||||
|
</RoomTypes>
|
||||||
|
<GuestCounts>
|
||||||
|
<GuestCount Count="1"/>
|
||||||
|
</GuestCounts>
|
||||||
|
<TimeSpan>
|
||||||
|
<StartDateWindow EarliestDate="2022-10-03Z" LatestDate="2022-10-08Z"/>
|
||||||
|
</TimeSpan>
|
||||||
|
</RoomStay>
|
||||||
|
</RoomStays>
|
||||||
|
<ResGuests>
|
||||||
|
<ResGuest>
|
||||||
|
<Profiles>
|
||||||
|
<ProfileInfo>
|
||||||
|
<Profile>
|
||||||
|
<Customer Gender="Test" Language="de">
|
||||||
|
<PersonName>
|
||||||
|
<GivenName>Otto</GivenName>
|
||||||
|
<Surname>Mustermann</Surname>
|
||||||
|
</PersonName>
|
||||||
|
<Address>
|
||||||
|
<CountryName Code="DE"/>
|
||||||
|
</Address>
|
||||||
|
</Customer>
|
||||||
|
</Profile>
|
||||||
|
</ProfileInfo>
|
||||||
|
</Profiles>
|
||||||
|
</ResGuest>
|
||||||
|
</ResGuests>
|
||||||
|
<ResGlobalInfo>
|
||||||
|
<HotelReservationIDs>
|
||||||
|
<HotelReservationID ResID_Type="13" ResID_Value="res" ResID_Source="www.example.com" ResID_SourceContext="cnt"/>
|
||||||
|
</HotelReservationIDs>
|
||||||
|
<BasicPropertyInfo HotelCode="123" HotelName="Frangart Inn"/>
|
||||||
|
</ResGlobalInfo>
|
||||||
|
</HotelReservation>
|
||||||
|
</ReservationsList>
|
||||||
|
</OTA_ResRetrieveRS>
|
||||||
@@ -6446,19 +6446,19 @@ class PersonNameType(GeneratedsSuper):
|
|||||||
pass
|
pass
|
||||||
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
||||||
if nodeName_ == 'GivenName':
|
if nodeName_ == 'GivenName':
|
||||||
obj_ = GivenNameType.factory(parent_object_=self)
|
obj_ = CustomerNameType.factory(parent_object_=self)
|
||||||
obj_.build(child_, gds_collector_=gds_collector_)
|
obj_.build(child_, gds_collector_=gds_collector_)
|
||||||
self.GivenName = obj_
|
self.GivenName = obj_
|
||||||
obj_.original_tagname_ = 'GivenName'
|
obj_.original_tagname_ = 'GivenName'
|
||||||
elif nodeName_ == 'Surname':
|
elif nodeName_ == 'Surname':
|
||||||
obj_ = SurnameType.factory(parent_object_=self)
|
obj_ = CustomerNameType.factory(parent_object_=self)
|
||||||
obj_.build(child_, gds_collector_=gds_collector_)
|
obj_.build(child_, gds_collector_=gds_collector_)
|
||||||
self.Surname = obj_
|
self.Surname = obj_
|
||||||
obj_.original_tagname_ = 'Surname'
|
obj_.original_tagname_ = 'Surname'
|
||||||
# end class PersonNameType
|
# end class PersonNameType
|
||||||
|
|
||||||
|
|
||||||
class GivenNameType(GeneratedsSuper):
|
class CustomerNameType(GeneratedsSuper):
|
||||||
__hash__ = GeneratedsSuper.__hash__
|
__hash__ = GeneratedsSuper.__hash__
|
||||||
subclass = None
|
subclass = None
|
||||||
superclass = None
|
superclass = None
|
||||||
@@ -6472,13 +6472,13 @@ class GivenNameType(GeneratedsSuper):
|
|||||||
def factory(*args_, **kwargs_):
|
def factory(*args_, **kwargs_):
|
||||||
if CurrentSubclassModule_ is not None:
|
if CurrentSubclassModule_ is not None:
|
||||||
subclass = getSubclassFromModule_(
|
subclass = getSubclassFromModule_(
|
||||||
CurrentSubclassModule_, GivenNameType)
|
CurrentSubclassModule_, CustomerNameType)
|
||||||
if subclass is not None:
|
if subclass is not None:
|
||||||
return subclass(*args_, **kwargs_)
|
return subclass(*args_, **kwargs_)
|
||||||
if GivenNameType.subclass:
|
if CustomerNameType.subclass:
|
||||||
return GivenNameType.subclass(*args_, **kwargs_)
|
return CustomerNameType.subclass(*args_, **kwargs_)
|
||||||
else:
|
else:
|
||||||
return GivenNameType(*args_, **kwargs_)
|
return CustomerNameType(*args_, **kwargs_)
|
||||||
factory = staticmethod(factory)
|
factory = staticmethod(factory)
|
||||||
def get_ns_prefix_(self):
|
def get_ns_prefix_(self):
|
||||||
return self.ns_prefix_
|
return self.ns_prefix_
|
||||||
@@ -6510,29 +6510,29 @@ class GivenNameType(GeneratedsSuper):
|
|||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='GivenNameType', pretty_print=True):
|
def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CustomerNameType', pretty_print=True):
|
||||||
imported_ns_def_ = GenerateDSNamespaceDefs_.get('GivenNameType')
|
imported_ns_def_ = GenerateDSNamespaceDefs_.get('CustomerNameType')
|
||||||
if imported_ns_def_ is not None:
|
if imported_ns_def_ is not None:
|
||||||
namespacedef_ = imported_ns_def_
|
namespacedef_ = imported_ns_def_
|
||||||
if pretty_print:
|
if pretty_print:
|
||||||
eol_ = '\n'
|
eol_ = '\n'
|
||||||
else:
|
else:
|
||||||
eol_ = ''
|
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_
|
name_ = self.original_tagname_
|
||||||
if UseCapturedNS_ and self.ns_prefix_:
|
if UseCapturedNS_ and self.ns_prefix_:
|
||||||
namespaceprefix_ = self.ns_prefix_ + ':'
|
namespaceprefix_ = self.ns_prefix_ + ':'
|
||||||
showIndent(outfile, level, pretty_print)
|
showIndent(outfile, level, pretty_print)
|
||||||
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
||||||
already_processed = set()
|
already_processed = set()
|
||||||
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GivenNameType')
|
self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CustomerNameType')
|
||||||
outfile.write('>')
|
outfile.write('>')
|
||||||
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print)
|
self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print)
|
||||||
outfile.write(self.convert_unicode(self.valueOf_))
|
outfile.write(self.convert_unicode(self.valueOf_))
|
||||||
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
|
outfile.write('</%s%s>%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
|
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
|
pass
|
||||||
def build(self, node, gds_collector_=None):
|
def build(self, node, gds_collector_=None):
|
||||||
self.gds_collector_ = gds_collector_
|
self.gds_collector_ = gds_collector_
|
||||||
@@ -6550,102 +6550,10 @@ class GivenNameType(GeneratedsSuper):
|
|||||||
pass
|
pass
|
||||||
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
|
||||||
pass
|
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%s>%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):
|
class URLType(GeneratedsSuper):
|
||||||
@@ -75921,7 +75829,7 @@ __all__ = [
|
|||||||
"FeaturesType302",
|
"FeaturesType302",
|
||||||
"FeaturesType670",
|
"FeaturesType670",
|
||||||
"GeneralEventInfoType",
|
"GeneralEventInfoType",
|
||||||
"GivenNameType",
|
"CustomerNameType",
|
||||||
"GuaranteeAcceptedType",
|
"GuaranteeAcceptedType",
|
||||||
"GuaranteeAcceptedType544",
|
"GuaranteeAcceptedType544",
|
||||||
"GuaranteeAcceptedType93",
|
"GuaranteeAcceptedType93",
|
||||||
|
|||||||
14
src/main.py
14
src/main.py
@@ -26,8 +26,8 @@ from alpine_bits_classes import (
|
|||||||
HotelReservationIDsType,
|
HotelReservationIDsType,
|
||||||
HotelReservationIDType,
|
HotelReservationIDType,
|
||||||
BasicPropertyInfoType,
|
BasicPropertyInfoType,
|
||||||
GivenNameType,
|
CustomerNameType
|
||||||
SurnameType,
|
|
||||||
)
|
)
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
import sys
|
import sys
|
||||||
@@ -58,10 +58,12 @@ def main():
|
|||||||
room_stays = RoomStaysType(RoomStay=[room_stay])
|
room_stays = RoomStaysType(RoomStay=[room_stay])
|
||||||
|
|
||||||
# ResGuest
|
# ResGuest
|
||||||
person_name = PersonNameType(GivenName=GivenNameType("Otto"), Surname=SurnameType("Mustermann"))
|
person_name = PersonNameType(GivenName=CustomerNameType("Otto"), Surname=CustomerNameType("Mustermann"))
|
||||||
country_name = CountryNameType(Code="DE")
|
country_name = CountryNameType(Code="DE")
|
||||||
address = AddressType(CountryName=country_name)
|
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 = ProfileType(Customer=customer)
|
||||||
profile_info = ProfileInfoType(Profile=profile)
|
profile_info = ProfileInfoType(Profile=profile)
|
||||||
profiles = ProfilesType(ProfileInfo=profile_info)
|
profiles = ProfilesType(ProfileInfo=profile_info)
|
||||||
@@ -106,6 +108,10 @@ def main():
|
|||||||
ReservationsList=reservations_list
|
ReservationsList=reservations_list
|
||||||
)
|
)
|
||||||
|
|
||||||
|
print(ota_res_retrieve_rs.get_Warnings())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Serialize to XML string
|
# Serialize to XML string
|
||||||
# create outfile
|
# create outfile
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<Success><Success/>
|
<Success><Success/>
|
||||||
</Success>
|
</Success>
|
||||||
<ReservationsList>
|
<ReservationsList>
|
||||||
<HotelReservation CreateDateTime="2025-09-24T07:18:57.913865Z" ResStatus="Requested" RoomStayReservation="true">
|
<HotelReservation CreateDateTime="2025-09-24T07:42:31.092997Z" ResStatus="Requested" RoomStayReservation="true">
|
||||||
<UniqueID Type="14" ID="6b34fe24ac2ff811"/>
|
<UniqueID Type="14" ID="6b34fe24ac2ff811"/>
|
||||||
<RoomStays>
|
<RoomStays>
|
||||||
<RoomStay>
|
<RoomStay>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
<Profiles>
|
<Profiles>
|
||||||
<ProfileInfo>
|
<ProfileInfo>
|
||||||
<Profile>
|
<Profile>
|
||||||
<Customer Gender="Unknown" Language="de">
|
<Customer Gender="Test" Language="de">
|
||||||
<PersonName>
|
<PersonName>
|
||||||
<GivenName>Otto</GivenName>
|
<GivenName>Otto</GivenName>
|
||||||
<Surname>Mustermann</Surname>
|
<Surname>Mustermann</Surname>
|
||||||
|
|||||||
Reference in New Issue
Block a user