aboutsummaryrefslogtreecommitdiff
path: root/src/ee/xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/ee/xml')
-rw-r--r--src/ee/xml/types.py248
-rw-r--r--src/ee/xml/uris.py4
2 files changed, 176 insertions, 76 deletions
diff --git a/src/ee/xml/types.py b/src/ee/xml/types.py
index 9409cf2..afc7e72 100644
--- a/src/ee/xml/types.py
+++ b/src/ee/xml/types.py
@@ -3,7 +3,7 @@
#
# Generated by generateDS.py.
-# Python 3.7.3rc1 (default, Mar 13 2019, 11:01:15) [GCC 8.3.0]
+# Python 3.7.3 (default, Apr 3 2019, 05:39:12) [GCC 8.3.0]
#
# Command line options:
# ('-f', '')
@@ -23,11 +23,13 @@
# ee-python
#
+import os
+import sys
+import re as re_
import base64
import datetime as datetime_
-import re as re_
-import sys
-
+import warnings as warnings_
+import decimal as decimal_
try:
from lxml import etree as etree_
except ImportError:
@@ -50,6 +52,11 @@ def parsexml_(infile, parser=None, **kwargs):
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
@@ -74,7 +81,7 @@ def parsexmlstring_(instring, parser=None, **kwargs):
# 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 a example of the use of this
+# any generated element type class for an example of the use of this
# table.
# A sample table is:
#
@@ -85,11 +92,39 @@ def parsexmlstring_(instring, parser=None, **kwargs):
# "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 ImportError:
GenerateDSNamespaceDefs_ = {}
+try:
+ from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_
+except ImportError:
+ GenerateDSNamespaceTypePrefixes_ = {}
+
+#
+# The super-class for enum types
+#
+
+try:
+ from enum import Enum
+except ImportError:
+ Enum = object
#
# The root super-class for element type classes
@@ -116,6 +151,8 @@ except ImportError as exp:
return None
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 ''
@@ -127,6 +164,12 @@ except ImportError as exp:
return input_data
def gds_format_integer(self, input_data, input_name=''):
return '%d' % 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: %s' % exp)
+ return ival
def gds_validate_integer(self, input_data, node=None, input_name=''):
return input_data
def gds_format_integer_list(self, input_data, input_name=''):
@@ -142,8 +185,18 @@ except ImportError as exp:
return values
def gds_format_float(self, input_data, input_name=''):
return ('%.15f' % input_data).rstrip('0')
+ 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: %s' % exp)
+ return fval_
def gds_validate_float(self, input_data, node=None, input_name=''):
- return input_data
+ try:
+ value = float(input_data)
+ except (TypeError, ValueError):
+ raise_parse_error(node, 'Requires sequence of floats')
+ return value
def gds_format_float_list(self, input_data, input_name=''):
return '%s' % ' '.join(input_data)
def gds_validate_float_list(
@@ -155,8 +208,39 @@ except ImportError as exp:
except (TypeError, ValueError):
raise_parse_error(node, 'Requires sequence of floats')
return values
+ def gds_format_decimal(self, input_data, input_name=''):
+ return ('%0.10f' % input_data).rstrip('0')
+ def gds_parse_decimal(self, input_data, node=None, input_name=''):
+ try:
+ decimal_.Decimal(input_data)
+ except (TypeError, ValueError):
+ raise_parse_error(node, 'Requires decimal value')
+ return input_data
+ 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=''):
+ return '%s' % ' '.join(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 '%e' % 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 float or double: %s' % exp)
+ return fval_
def gds_validate_double(self, input_data, node=None, input_name=''):
return input_data
def gds_format_double_list(self, input_data, input_name=''):
@@ -172,6 +256,14 @@ except ImportError as exp:
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=''):
+ if input_data in ('true', '1'):
+ bval = True
+ elif input_data in ('false', '0'):
+ bval = False
+ else:
+ raise_parse_error(node, 'requires boolean')
+ return bval
def gds_validate_boolean(self, input_data, node=None, input_name=''):
return input_data
def gds_format_boolean_list(self, input_data, input_name=''):
@@ -563,7 +655,8 @@ class GDSParseError(Exception):
def raise_parse_error(node, msg):
- msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, )
+ if node is not None:
+ msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, )
raise GDSParseError(msg)
@@ -779,7 +872,7 @@ class PartDb(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PartDb')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PartDb', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='PartDb', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -905,7 +998,7 @@ class Part(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Part')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Part', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='Part', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -947,13 +1040,15 @@ class Part(GeneratedsSuper):
self.uri = value
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'supplier':
- supplier_ = child_.text
- supplier_ = self.gds_validate_string(supplier_, node, 'supplier')
- self.supplier = supplier_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'supplier')
+ value_ = self.gds_validate_string(value_, node, 'supplier')
+ self.supplier = value_
elif nodeName_ == 'description':
- description_ = child_.text
- description_ = self.gds_validate_string(description_, node, 'description')
- self.description = description_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'description')
+ value_ = self.gds_validate_string(value_, node, 'description')
+ self.description = value_
elif nodeName_ == 'links':
obj_ = LinkList.factory(parent_object_=self)
obj_.build(child_)
@@ -1004,8 +1099,6 @@ class PartList(GeneratedsSuper):
self.part = part
def add_part(self, value):
self.part.append(value)
- def add_part(self, value):
- self.part.append(value)
def insert_part_at(self, index, value):
self.part.insert(index, value)
def replace_part_at(self, index, value):
@@ -1034,7 +1127,7 @@ class PartList(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PartList')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PartList', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='PartList', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1112,7 +1205,7 @@ class PartReference(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PartReference')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PartReference', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='PartReference', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1138,9 +1231,10 @@ class PartReference(GeneratedsSuper):
pass
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'part-uri':
- part_uri_ = child_.text
- part_uri_ = self.gds_validate_string(part_uri_, node, 'part_uri')
- self.part_uri = part_uri_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'part_uri')
+ value_ = self.gds_validate_string(value_, node, 'part_uri')
+ self.part_uri = value_
# end class PartReference
@@ -1190,7 +1284,7 @@ class PartNumber(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PartNumber')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PartNumber', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='PartNumber', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1217,6 +1311,7 @@ class PartNumber(GeneratedsSuper):
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'value':
value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'value')
value_ = self.gds_validate_string(value_, node, 'value')
self.value = value_
# end class PartNumber
@@ -1268,7 +1363,7 @@ class SupplierPartNumber(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SupplierPartNumber')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SupplierPartNumber', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='SupplierPartNumber', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1295,6 +1390,7 @@ class SupplierPartNumber(GeneratedsSuper):
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'value':
value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'value')
value_ = self.gds_validate_string(value_, node, 'value')
self.value = value_
# end class SupplierPartNumber
@@ -1346,7 +1442,7 @@ class SchematicReference(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SchematicReference')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SchematicReference', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='SchematicReference', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1372,9 +1468,10 @@ class SchematicReference(GeneratedsSuper):
pass
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'reference':
- reference_ = child_.text
- reference_ = self.gds_validate_string(reference_, node, 'reference')
- self.reference = reference_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'reference')
+ value_ = self.gds_validate_string(value_, node, 'reference')
+ self.reference = value_
# end class SchematicReference
@@ -1421,8 +1518,6 @@ class ReferenceList(GeneratedsSuper):
self.part_reference = part_reference
def add_part_reference(self, value):
self.part_reference.append(value)
- def add_part_reference(self, value):
- self.part_reference.append(value)
def insert_part_reference_at(self, index, value):
self.part_reference.insert(index, value)
def replace_part_reference_at(self, index, value):
@@ -1434,8 +1529,6 @@ class ReferenceList(GeneratedsSuper):
self.schematic_reference = schematic_reference
def add_schematic_reference(self, value):
self.schematic_reference.append(value)
- def add_schematic_reference(self, value):
- self.schematic_reference.append(value)
def insert_schematic_reference_at(self, index, value):
self.schematic_reference.insert(index, value)
def replace_schematic_reference_at(self, index, value):
@@ -1447,8 +1540,6 @@ class ReferenceList(GeneratedsSuper):
self.part_number = part_number
def add_part_number(self, value):
self.part_number.append(value)
- def add_part_number(self, value):
- self.part_number.append(value)
def insert_part_number_at(self, index, value):
self.part_number.insert(index, value)
def replace_part_number_at(self, index, value):
@@ -1460,8 +1551,6 @@ class ReferenceList(GeneratedsSuper):
self.supplier_part_number = supplier_part_number
def add_supplier_part_number(self, value):
self.supplier_part_number.append(value)
- def add_supplier_part_number(self, value):
- self.supplier_part_number.append(value)
def insert_supplier_part_number_at(self, index, value):
self.supplier_part_number.insert(index, value)
def replace_supplier_part_number_at(self, index, value):
@@ -1473,8 +1562,6 @@ class ReferenceList(GeneratedsSuper):
self.description = description
def add_description(self, value):
self.description.append(value)
- 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):
@@ -1507,7 +1594,7 @@ class ReferenceList(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReferenceList')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReferenceList', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='ReferenceList', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1561,9 +1648,10 @@ class ReferenceList(GeneratedsSuper):
self.supplier_part_number.append(obj_)
obj_.original_tagname_ = 'supplier-part-number'
elif nodeName_ == 'description':
- description_ = child_.text
- description_ = self.gds_validate_string(description_, node, 'description')
- self.description.append(description_)
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'description')
+ value_ = self.gds_validate_string(value_, node, 'description')
+ self.description.append(value_)
# end class ReferenceList
@@ -1627,7 +1715,7 @@ class Fact(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Fact')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Fact', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='Fact', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1659,15 +1747,18 @@ class Fact(GeneratedsSuper):
pass
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'key':
- key_ = child_.text
- key_ = self.gds_validate_string(key_, node, 'key')
- self.key = key_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'key')
+ value_ = self.gds_validate_string(value_, node, 'key')
+ self.key = value_
elif nodeName_ == 'label':
- label_ = child_.text
- label_ = self.gds_validate_string(label_, node, 'label')
- self.label = label_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'label')
+ value_ = self.gds_validate_string(value_, node, 'label')
+ self.label = value_
elif nodeName_ == 'value':
value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'value')
value_ = self.gds_validate_string(value_, node, 'value')
self.value = value_
# end class Fact
@@ -1700,8 +1791,6 @@ class FactList(GeneratedsSuper):
self.fact = fact
def add_fact(self, value):
self.fact.append(value)
- def add_fact(self, value):
- self.fact.append(value)
def insert_fact_at(self, index, value):
self.fact.insert(index, value)
def replace_fact_at(self, index, value):
@@ -1730,7 +1819,7 @@ class FactList(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='FactList')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='FactList', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='FactList', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1814,12 +1903,12 @@ class Amount(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Amount')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Amount', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='Amount', pretty_print=pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
outfile.write('/>%s' % (eol_, ))
def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Amount'):
- if self.value is not None and 'value' not in already_processed:
+ if 'value' not in already_processed:
already_processed.add('value')
outfile.write(' value=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.value), input_name='value')), ))
if self.currency is not None and 'currency' not in already_processed:
@@ -1901,7 +1990,7 @@ class PriceBreak(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PriceBreak')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PriceBreak', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='PriceBreak', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -1929,9 +2018,10 @@ class PriceBreak(GeneratedsSuper):
pass
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
if nodeName_ == 'quantity':
- quantity_ = child_.text
- quantity_ = self.gds_validate_string(quantity_, node, 'quantity')
- self.quantity = quantity_
+ value_ = child_.text
+ value_ = self.gds_parse_string(value_, node, 'quantity')
+ value_ = self.gds_validate_string(value_, node, 'quantity')
+ self.quantity = value_
elif nodeName_ == 'amount':
obj_ = Amount.factory(parent_object_=self)
obj_.build(child_)
@@ -1967,8 +2057,6 @@ class PriceBreakList(GeneratedsSuper):
self.price_break = price_break
def add_price_break(self, value):
self.price_break.append(value)
- def add_price_break(self, value):
- self.price_break.append(value)
def insert_price_break_at(self, index, value):
self.price_break.insert(index, value)
def replace_price_break_at(self, index, value):
@@ -1997,7 +2085,7 @@ class PriceBreakList(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PriceBreakList')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PriceBreakList', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='PriceBreakList', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -2032,13 +2120,14 @@ class PriceBreakList(GeneratedsSuper):
class Link(GeneratedsSuper):
subclass = None
superclass = None
- def __init__(self, url=None, relation=None, media_type=None, title=None, **kwargs_):
+ def __init__(self, url=None, relation=None, media_type=None, title=None, cache_url=None, **kwargs_):
self.original_tagname_ = None
self.parent_object_ = kwargs_.get('parent_object_')
self.url = _cast(None, url)
self.relation = _cast(None, relation)
self.media_type = _cast(None, media_type)
self.title = _cast(None, title)
+ self.cache_url = _cast(None, cache_url)
def factory(*args_, **kwargs_):
if CurrentSubclassModule_ is not None:
subclass = getSubclassFromModule_(
@@ -2070,6 +2159,11 @@ class Link(GeneratedsSuper):
def set_title(self, title):
self.title = title
titleProp = property(get_title, set_title)
+ def get_cache_url(self):
+ return self.cache_url
+ def set_cache_url(self, cache_url):
+ self.cache_url = cache_url
+ cache_urlProp = property(get_cache_url, set_cache_url)
def hasContent_(self):
if (
@@ -2093,7 +2187,7 @@ class Link(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Link')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Link', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='Link', pretty_print=pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
outfile.write('/>%s' % (eol_, ))
@@ -2110,6 +2204,9 @@ class Link(GeneratedsSuper):
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.cache_url is not None and 'cache_url' not in already_processed:
+ already_processed.add('cache_url')
+ outfile.write(' cache-url=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.cache_url), input_name='cache-url')), ))
def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Link', fromsubclass_=False, pretty_print=True):
pass
def build(self, node):
@@ -2136,6 +2233,10 @@ class Link(GeneratedsSuper):
if value is not None and 'title' not in already_processed:
already_processed.add('title')
self.title = value
+ value = find_attr_value_('cache-url', node)
+ if value is not None and 'cache-url' not in already_processed:
+ already_processed.add('cache-url')
+ self.cache_url = value
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
pass
# end class Link
@@ -2168,8 +2269,6 @@ class LinkList(GeneratedsSuper):
self.link = link
def add_link(self, value):
self.link.append(value)
- def add_link(self, value):
- self.link.append(value)
def insert_link_at(self, index, value):
self.link.insert(index, value)
def replace_link_at(self, index, value):
@@ -2198,7 +2297,7 @@ class LinkList(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LinkList')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LinkList', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='LinkList', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -2290,7 +2389,7 @@ class AssemblyPart(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AssemblyPart')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AssemblyPart', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='AssemblyPart', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -2326,11 +2425,8 @@ class AssemblyPart(GeneratedsSuper):
obj_.original_tagname_ = 'references'
elif nodeName_ == 'count' and child_.text:
sval_ = child_.text
- try:
- fval_ = float(sval_)
- except (TypeError, ValueError) as exp:
- raise_parse_error(child_, 'requires float or double: %s' % exp)
- fval_ = self.gds_validate_float(fval_, node, 'count')
+ fval_ = self.gds_parse_double(sval_, node, 'count')
+ fval_ = self.gds_validate_double(fval_, node, 'count')
self.count = fval_
elif nodeName_ == 'sub-parts':
obj_ = AssemblyPartList.factory(parent_object_=self)
@@ -2367,8 +2463,6 @@ class AssemblyPartList(GeneratedsSuper):
self.assembly_part = assembly_part
def add_assembly_part(self, value):
self.assembly_part.append(value)
- def add_assembly_part(self, value):
- self.assembly_part.append(value)
def insert_assembly_part_at(self, index, value):
self.assembly_part.insert(index, value)
def replace_assembly_part_at(self, index, value):
@@ -2397,7 +2491,7 @@ class AssemblyPartList(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AssemblyPartList')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AssemblyPartList', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='AssemblyPartList', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -2475,7 +2569,7 @@ class Assembly(GeneratedsSuper):
self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Assembly')
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
- self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Assembly', pretty_print=pretty_print)
+ self.exportChildren(outfile, level + 1, '', namespacedef_, name_='Assembly', pretty_print=pretty_print)
showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
@@ -2635,6 +2729,8 @@ if __name__ == '__main__':
#import pdb; pdb.set_trace()
main()
+RenameMappings_ = {
+}
__all__ = [
"Amount",
diff --git a/src/ee/xml/uris.py b/src/ee/xml/uris.py
index 97c3fa3..7095da3 100644
--- a/src/ee/xml/uris.py
+++ b/src/ee/xml/uris.py
@@ -16,6 +16,10 @@ MOUNTING_HOLE = "http://purl.org/ee/part-type#mounting-hole"
_DIGIKEY_FACT_KEY_PREFIX = "http://purl.org/ee/digikey-fact-key#"
+def make_link_rel(cls):
+ return "http://purl.org/ee/link-rel#{}".format(cls)
+
+
def make_digikey_fact_key(key: int) -> str:
return _DIGIKEY_FACT_KEY_PREFIX + str(key)