In preparation to support creation of native docker containers the way docker likes it, the kiwi schema has to be adapted. So far there was no way to specify additional metadata information for containers. With this commit a new section called <containerconfig> is provided. containerconfig is a subsection of the type and only allowed for the docker image type. This constraint is checked via a schematron rule. In addition an xslt stylesheet moves the currently existing container attribute, which was used to set a name for the container, into the new containerconfig section as name attribute
8220 lines
393 KiB
Python
8220 lines
393 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
#
|
|
# Generated Mon Jan 9 10:51:35 2017 by generateDS.py version 2.24a.
|
|
#
|
|
# Command line options:
|
|
# ('-f', '')
|
|
# ('--external-encoding', 'utf-8')
|
|
# ('-o', 'kiwi/xml_parse.py')
|
|
#
|
|
# Command line arguments:
|
|
# kiwi/schema/kiwi.xsd
|
|
#
|
|
# Command line:
|
|
# /home/ms/Project/kiwi/.tox/2.7/bin/generateDS.py -f --external-encoding="utf-8" -o "kiwi/xml_parse.py" kiwi/schema/kiwi.xsd
|
|
#
|
|
# Current working directory (os.getcwd()):
|
|
# kiwi
|
|
#
|
|
|
|
import sys
|
|
import re as re_
|
|
import base64
|
|
import datetime as datetime_
|
|
import warnings as warnings_
|
|
try:
|
|
from lxml import etree as etree_
|
|
except ImportError:
|
|
from xml.etree import ElementTree as etree_
|
|
|
|
|
|
Validate_simpletypes_ = True
|
|
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()
|
|
doc = etree_.parse(infile, parser=parser, **kwargs)
|
|
return doc
|
|
|
|
#
|
|
# User methods
|
|
#
|
|
# 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 ImportError as exp:
|
|
|
|
class GeneratedsSuper(object):
|
|
tzoff_pattern = re_.compile(r'(\+|-)((0\d|1[0-3]):[0-5]\d|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 gds_format_string(self, input_data, 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)
|
|
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' % input_data
|
|
def gds_validate_integer(self, input_data, node=None, input_name=''):
|
|
return input_data
|
|
def gds_format_integer_list(self, input_data, input_name=''):
|
|
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 integers')
|
|
return values
|
|
def gds_format_float(self, input_data, input_name=''):
|
|
return ('%.15f' % input_data).rstrip('0')
|
|
def gds_validate_float(self, input_data, node=None, input_name=''):
|
|
return input_data
|
|
def gds_format_float_list(self, input_data, input_name=''):
|
|
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 floats')
|
|
return values
|
|
def gds_format_double(self, input_data, input_name=''):
|
|
return '%e' % input_data
|
|
def gds_validate_double(self, input_data, node=None, input_name=''):
|
|
return input_data
|
|
def gds_format_double_list(self, input_data, input_name=''):
|
|
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 doubles')
|
|
return values
|
|
def gds_format_boolean(self, input_data, input_name=''):
|
|
return ('%s' % input_data).lower()
|
|
def gds_validate_boolean(self, input_data, node=None, input_name=''):
|
|
return input_data
|
|
def gds_format_boolean_list(self, input_data, input_name=''):
|
|
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:
|
|
if value not in ('true', '1', 'false', '0', ):
|
|
raise_parse_error(
|
|
node,
|
|
'Requires sequence of booleans '
|
|
'("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], micro_seconds, )
|
|
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. We should:
|
|
# - AND the outer elements
|
|
# - OR the inner elements
|
|
found1 = True
|
|
for patterns1 in patterns:
|
|
found2 = False
|
|
for patterns2 in patterns1:
|
|
if re_.search(patterns2, target) is not None:
|
|
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_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):
|
|
return None
|
|
@classmethod
|
|
def gds_reverse_node_mapping(cls, mapping):
|
|
return dict(((v, k) for k, v in mapping.iteritems()))
|
|
@staticmethod
|
|
def gds_encode(instring):
|
|
if sys.version_info.major == 2:
|
|
return instring.encode(ExternalEncoding)
|
|
else:
|
|
return instring
|
|
|
|
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('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')
|
|
|
|
#
|
|
# Globals
|
|
#
|
|
|
|
ExternalEncoding = 'utf-8'
|
|
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"<!\[CDATA\[.*?\]\]>", 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('>', '>')
|
|
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
|
|
namespace = node.nsmap.get(prefix)
|
|
if namespace is not None:
|
|
value = attrs.get('{%s}%s' % (namespace, name, ))
|
|
return value
|
|
|
|
|
|
class GDSParseError(Exception):
|
|
pass
|
|
|
|
|
|
def raise_parse_error(node, msg):
|
|
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, pretty_print=pretty_print)
|
|
def exportSimple(self, outfile, level, name):
|
|
if self.content_type == MixedContainer.TypeString:
|
|
outfile.write('<%s>%s</%s>' % (
|
|
self.name, self.value, self.name))
|
|
elif self.content_type == MixedContainer.TypeInteger or \
|
|
self.content_type == MixedContainer.TypeBoolean:
|
|
outfile.write('<%s>%d</%s>' % (
|
|
self.name, self.value, self.name))
|
|
elif self.content_type == MixedContainer.TypeFloat or \
|
|
self.content_type == MixedContainer.TypeDecimal:
|
|
outfile.write('<%s>%f</%s>' % (
|
|
self.name, self.value, self.name))
|
|
elif self.content_type == MixedContainer.TypeDouble:
|
|
outfile.write('<%s>%g</%s>' % (
|
|
self.name, self.value, self.name))
|
|
elif self.content_type == MixedContainer.TypeBase64:
|
|
outfile.write('<%s>%s</%s>' % (
|
|
self.name, base64.b64encode(self.value), self.name))
|
|
def to_etree(self, element):
|
|
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):
|
|
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):
|
|
self.name = name
|
|
self.data_type = data_type
|
|
self.container = container
|
|
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 _cast(typ, value):
|
|
if typ is None or value is None:
|
|
return value
|
|
return typ(value)
|
|
|
|
#
|
|
# Data representation classes.
|
|
#
|
|
|
|
|
|
class k_source(GeneratedsSuper):
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, source=None):
|
|
self.original_tagname_ = None
|
|
self.source = source
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, k_source)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if k_source.subclass:
|
|
return k_source.subclass(*args_, **kwargs_)
|
|
else:
|
|
return k_source(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_source(self): return self.source
|
|
def set_source(self, source): self.source = source
|
|
def hasContent_(self):
|
|
if (
|
|
self.source is not None
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='k.source', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='k.source')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='k.source', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='k.source'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='k.source', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.source is not None:
|
|
self.source.export(outfile, level, namespace_, name_='source', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'source':
|
|
obj_ = source.factory()
|
|
obj_.build(child_)
|
|
self.source = obj_
|
|
obj_.original_tagname_ = 'source'
|
|
# end class k_source
|
|
|
|
|
|
class image(GeneratedsSuper):
|
|
"""The root element of the configuration file"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, displayname=None, kiwirevision=None, id=None, schemaversion=None, noNamespaceSchemaLocation=None, schemaLocation=None, description=None, preferences=None, profiles=None, instsource=None, users=None, drivers=None, strip=None, repository=None, packages=None, extension=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.displayname = _cast(None, displayname)
|
|
self.kiwirevision = _cast(None, kiwirevision)
|
|
self.id = _cast(None, id)
|
|
self.schemaversion = _cast(None, schemaversion)
|
|
self.noNamespaceSchemaLocation = _cast(None, noNamespaceSchemaLocation)
|
|
self.schemaLocation = _cast(None, schemaLocation)
|
|
if description is None:
|
|
self.description = []
|
|
else:
|
|
self.description = description
|
|
if preferences is None:
|
|
self.preferences = []
|
|
else:
|
|
self.preferences = preferences
|
|
if profiles is None:
|
|
self.profiles = []
|
|
else:
|
|
self.profiles = profiles
|
|
if instsource is None:
|
|
self.instsource = []
|
|
else:
|
|
self.instsource = instsource
|
|
if users is None:
|
|
self.users = []
|
|
else:
|
|
self.users = users
|
|
if drivers is None:
|
|
self.drivers = []
|
|
else:
|
|
self.drivers = drivers
|
|
if strip is None:
|
|
self.strip = []
|
|
else:
|
|
self.strip = strip
|
|
if repository is None:
|
|
self.repository = []
|
|
else:
|
|
self.repository = repository
|
|
if packages is None:
|
|
self.packages = []
|
|
else:
|
|
self.packages = packages
|
|
if extension is None:
|
|
self.extension = []
|
|
else:
|
|
self.extension = extension
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, image)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if image.subclass:
|
|
return image.subclass(*args_, **kwargs_)
|
|
else:
|
|
return image(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
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_preferences(self): return self.preferences
|
|
def set_preferences(self, preferences): self.preferences = preferences
|
|
def add_preferences(self, value): self.preferences.append(value)
|
|
def insert_preferences_at(self, index, value): self.preferences.insert(index, value)
|
|
def replace_preferences_at(self, index, value): self.preferences[index] = value
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def add_profiles(self, value): self.profiles.append(value)
|
|
def insert_profiles_at(self, index, value): self.profiles.insert(index, value)
|
|
def replace_profiles_at(self, index, value): self.profiles[index] = value
|
|
def get_instsource(self): return self.instsource
|
|
def set_instsource(self, instsource): self.instsource = instsource
|
|
def add_instsource(self, value): self.instsource.append(value)
|
|
def insert_instsource_at(self, index, value): self.instsource.insert(index, value)
|
|
def replace_instsource_at(self, index, value): self.instsource[index] = value
|
|
def get_users(self): return self.users
|
|
def set_users(self, users): self.users = users
|
|
def add_users(self, value): self.users.append(value)
|
|
def insert_users_at(self, index, value): self.users.insert(index, value)
|
|
def replace_users_at(self, index, value): self.users[index] = value
|
|
def get_drivers(self): return self.drivers
|
|
def set_drivers(self, drivers): self.drivers = drivers
|
|
def add_drivers(self, value): self.drivers.append(value)
|
|
def insert_drivers_at(self, index, value): self.drivers.insert(index, value)
|
|
def replace_drivers_at(self, index, value): self.drivers[index] = value
|
|
def get_strip(self): return self.strip
|
|
def set_strip(self, strip): self.strip = strip
|
|
def add_strip(self, value): self.strip.append(value)
|
|
def insert_strip_at(self, index, value): self.strip.insert(index, value)
|
|
def replace_strip_at(self, index, value): self.strip[index] = value
|
|
def get_repository(self): return self.repository
|
|
def set_repository(self, repository): self.repository = repository
|
|
def add_repository(self, value): self.repository.append(value)
|
|
def insert_repository_at(self, index, value): self.repository.insert(index, value)
|
|
def replace_repository_at(self, index, value): self.repository[index] = value
|
|
def get_packages(self): return self.packages
|
|
def set_packages(self, packages): self.packages = packages
|
|
def add_packages(self, value): self.packages.append(value)
|
|
def insert_packages_at(self, index, value): self.packages.insert(index, value)
|
|
def replace_packages_at(self, index, value): self.packages[index] = value
|
|
def get_extension(self): return self.extension
|
|
def set_extension(self, extension): self.extension = extension
|
|
def add_extension(self, value): self.extension.append(value)
|
|
def insert_extension_at(self, index, value): self.extension.insert(index, value)
|
|
def replace_extension_at(self, index, value): self.extension[index] = value
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_displayname(self): return self.displayname
|
|
def set_displayname(self, displayname): self.displayname = displayname
|
|
def get_kiwirevision(self): return self.kiwirevision
|
|
def set_kiwirevision(self, kiwirevision): self.kiwirevision = kiwirevision
|
|
def get_id(self): return self.id
|
|
def set_id(self, id): self.id = id
|
|
def get_schemaversion(self): return self.schemaversion
|
|
def set_schemaversion(self, schemaversion): self.schemaversion = schemaversion
|
|
def get_noNamespaceSchemaLocation(self): return self.noNamespaceSchemaLocation
|
|
def set_noNamespaceSchemaLocation(self, noNamespaceSchemaLocation): self.noNamespaceSchemaLocation = noNamespaceSchemaLocation
|
|
def get_schemaLocation(self): return self.schemaLocation
|
|
def set_schemaLocation(self, schemaLocation): self.schemaLocation = schemaLocation
|
|
def validate_image_name(self, value):
|
|
# Validate type image-name, a restriction on xs:token.
|
|
if value is not None and Validate_simpletypes_:
|
|
if not self.gds_validate_simple_patterns(
|
|
self.validate_image_name_patterns_, value):
|
|
warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_image_name_patterns_, ))
|
|
validate_image_name_patterns_ = [['^[a-zA-Z0-9_\\-\\.]+$']]
|
|
def hasContent_(self):
|
|
if (
|
|
self.description or
|
|
self.preferences or
|
|
self.profiles or
|
|
self.instsource or
|
|
self.users or
|
|
self.drivers or
|
|
self.strip or
|
|
self.repository or
|
|
self.packages or
|
|
self.extension
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='image', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='image')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='image', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='image'):
|
|
if self.name is not None and 'name' not in already_processed:
|
|
already_processed.add('name')
|
|
outfile.write(' name=%s' % (quote_attrib(self.name), ))
|
|
if self.displayname is not None and 'displayname' not in already_processed:
|
|
already_processed.add('displayname')
|
|
outfile.write(' displayname=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.displayname), input_name='displayname')), ))
|
|
if self.kiwirevision is not None and 'kiwirevision' not in already_processed:
|
|
already_processed.add('kiwirevision')
|
|
outfile.write(' kiwirevision=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.kiwirevision), input_name='kiwirevision')), ))
|
|
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.schemaversion is not None and 'schemaversion' not in already_processed:
|
|
already_processed.add('schemaversion')
|
|
outfile.write(' schemaversion=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.schemaversion), input_name='schemaversion')), ))
|
|
if self.noNamespaceSchemaLocation is not None and 'noNamespaceSchemaLocation' not in already_processed:
|
|
already_processed.add('noNamespaceSchemaLocation')
|
|
outfile.write(' noNamespaceSchemaLocation=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.noNamespaceSchemaLocation), input_name='noNamespaceSchemaLocation')), ))
|
|
if self.schemaLocation is not None and 'schemaLocation' not in already_processed:
|
|
already_processed.add('schemaLocation')
|
|
outfile.write(' schemaLocation=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.schemaLocation), input_name='schemaLocation')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='image', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for description_ in self.description:
|
|
description_.export(outfile, level, namespace_, name_='description', pretty_print=pretty_print)
|
|
for preferences_ in self.preferences:
|
|
preferences_.export(outfile, level, namespace_, name_='preferences', pretty_print=pretty_print)
|
|
for profiles_ in self.profiles:
|
|
profiles_.export(outfile, level, namespace_, name_='profiles', pretty_print=pretty_print)
|
|
for instsource_ in self.instsource:
|
|
instsource_.export(outfile, level, namespace_, name_='instsource', pretty_print=pretty_print)
|
|
for users_ in self.users:
|
|
users_.export(outfile, level, namespace_, name_='users', pretty_print=pretty_print)
|
|
for drivers_ in self.drivers:
|
|
drivers_.export(outfile, level, namespace_, name_='drivers', pretty_print=pretty_print)
|
|
for strip_ in self.strip:
|
|
strip_.export(outfile, level, namespace_, name_='strip', pretty_print=pretty_print)
|
|
for repository_ in self.repository:
|
|
repository_.export(outfile, level, namespace_, name_='repository', pretty_print=pretty_print)
|
|
for packages_ in self.packages:
|
|
packages_.export(outfile, level, namespace_, name_='packages', pretty_print=pretty_print)
|
|
for extension_ in self.extension:
|
|
extension_.export(outfile, level, namespace_, name_='extension', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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.name = ' '.join(self.name.split())
|
|
self.validate_image_name(self.name) # validate type image-name
|
|
value = find_attr_value_('displayname', node)
|
|
if value is not None and 'displayname' not in already_processed:
|
|
already_processed.add('displayname')
|
|
self.displayname = value
|
|
value = find_attr_value_('kiwirevision', node)
|
|
if value is not None and 'kiwirevision' not in already_processed:
|
|
already_processed.add('kiwirevision')
|
|
self.kiwirevision = value
|
|
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_('schemaversion', node)
|
|
if value is not None and 'schemaversion' not in already_processed:
|
|
already_processed.add('schemaversion')
|
|
self.schemaversion = value
|
|
self.schemaversion = ' '.join(self.schemaversion.split())
|
|
value = find_attr_value_('noNamespaceSchemaLocation', node)
|
|
if value is not None and 'noNamespaceSchemaLocation' not in already_processed:
|
|
already_processed.add('noNamespaceSchemaLocation')
|
|
self.noNamespaceSchemaLocation = value
|
|
value = find_attr_value_('schemaLocation', node)
|
|
if value is not None and 'schemaLocation' not in already_processed:
|
|
already_processed.add('schemaLocation')
|
|
self.schemaLocation = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'description':
|
|
obj_ = description.factory()
|
|
obj_.build(child_)
|
|
self.description.append(obj_)
|
|
obj_.original_tagname_ = 'description'
|
|
elif nodeName_ == 'preferences':
|
|
obj_ = preferences.factory()
|
|
obj_.build(child_)
|
|
self.preferences.append(obj_)
|
|
obj_.original_tagname_ = 'preferences'
|
|
elif nodeName_ == 'profiles':
|
|
obj_ = profiles.factory()
|
|
obj_.build(child_)
|
|
self.profiles.append(obj_)
|
|
obj_.original_tagname_ = 'profiles'
|
|
elif nodeName_ == 'instsource':
|
|
obj_ = instsource.factory()
|
|
obj_.build(child_)
|
|
self.instsource.append(obj_)
|
|
obj_.original_tagname_ = 'instsource'
|
|
elif nodeName_ == 'users':
|
|
obj_ = users.factory()
|
|
obj_.build(child_)
|
|
self.users.append(obj_)
|
|
obj_.original_tagname_ = 'users'
|
|
elif nodeName_ == 'drivers':
|
|
obj_ = drivers.factory()
|
|
obj_.build(child_)
|
|
self.drivers.append(obj_)
|
|
obj_.original_tagname_ = 'drivers'
|
|
elif nodeName_ == 'strip':
|
|
obj_ = strip.factory()
|
|
obj_.build(child_)
|
|
self.strip.append(obj_)
|
|
obj_.original_tagname_ = 'strip'
|
|
elif nodeName_ == 'repository':
|
|
obj_ = repository.factory()
|
|
obj_.build(child_)
|
|
self.repository.append(obj_)
|
|
obj_.original_tagname_ = 'repository'
|
|
elif nodeName_ == 'packages':
|
|
obj_ = packages.factory()
|
|
obj_.build(child_)
|
|
self.packages.append(obj_)
|
|
obj_.original_tagname_ = 'packages'
|
|
elif nodeName_ == 'extension':
|
|
obj_ = extension.factory()
|
|
obj_.build(child_)
|
|
self.extension.append(obj_)
|
|
obj_.original_tagname_ = 'extension'
|
|
# end class image
|
|
|
|
|
|
class extension(GeneratedsSuper):
|
|
"""Define custom XML extensions"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, anytypeobjs_=None):
|
|
self.original_tagname_ = None
|
|
if anytypeobjs_ is None:
|
|
self.anytypeobjs_ = []
|
|
else:
|
|
self.anytypeobjs_ = anytypeobjs_
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, extension)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if extension.subclass:
|
|
return extension.subclass(*args_, **kwargs_)
|
|
else:
|
|
return extension(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_anytypeobjs_(self): return self.anytypeobjs_
|
|
def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
|
|
def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
|
|
def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.anytypeobjs_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='extension', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='extension')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='extension', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='extension'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='extension', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for obj_ in self.anytypeobjs_:
|
|
obj_.export(outfile, level, namespace_, pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
obj_ = self.gds_build_any(child_, 'extension')
|
|
if obj_ is not None:
|
|
self.add_anytypeobjs_(obj_)
|
|
# end class extension
|
|
|
|
|
|
class archive(GeneratedsSuper):
|
|
"""Name of an image archive file (tarball)"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, bootinclude=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.bootinclude = _cast(bool, bootinclude)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, archive)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if archive.subclass:
|
|
return archive.subclass(*args_, **kwargs_)
|
|
else:
|
|
return archive(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_bootinclude(self): return self.bootinclude
|
|
def set_bootinclude(self, bootinclude): self.bootinclude = bootinclude
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='archive', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='archive')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='archive', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='archive'):
|
|
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')), ))
|
|
if self.bootinclude is not None and 'bootinclude' not in already_processed:
|
|
already_processed.add('bootinclude')
|
|
outfile.write(' bootinclude="%s"' % self.gds_format_boolean(self.bootinclude, input_name='bootinclude'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='archive', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('bootinclude', node)
|
|
if value is not None and 'bootinclude' not in already_processed:
|
|
already_processed.add('bootinclude')
|
|
if value in ('true', '1'):
|
|
self.bootinclude = True
|
|
elif value in ('false', '0'):
|
|
self.bootinclude = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class archive
|
|
|
|
|
|
class configuration(GeneratedsSuper):
|
|
"""Specifies Configuration files"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, source=None, dest=None, arch=None):
|
|
self.original_tagname_ = None
|
|
self.source = _cast(None, source)
|
|
self.dest = _cast(None, dest)
|
|
self.arch = _cast(None, arch)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, configuration)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if configuration.subclass:
|
|
return configuration.subclass(*args_, **kwargs_)
|
|
else:
|
|
return configuration(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_source(self): return self.source
|
|
def set_source(self, source): self.source = source
|
|
def get_dest(self): return self.dest
|
|
def set_dest(self, dest): self.dest = dest
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='configuration', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='configuration')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='configuration', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='configuration'):
|
|
if self.source is not None and 'source' not in already_processed:
|
|
already_processed.add('source')
|
|
outfile.write(' source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.source), input_name='source')), ))
|
|
if self.dest is not None and 'dest' not in already_processed:
|
|
already_processed.add('dest')
|
|
outfile.write(' dest=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.dest), input_name='dest')), ))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='configuration', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('source', node)
|
|
if value is not None and 'source' not in already_processed:
|
|
already_processed.add('source')
|
|
self.source = value
|
|
value = find_attr_value_('dest', node)
|
|
if value is not None and 'dest' not in already_processed:
|
|
already_processed.add('dest')
|
|
self.dest = value
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class configuration
|
|
|
|
|
|
class file(GeneratedsSuper):
|
|
"""A Pointer to a File"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, arch=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.arch = _cast(None, arch)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, file)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if file.subclass:
|
|
return file.subclass(*args_, **kwargs_)
|
|
else:
|
|
return file(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='file', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='file')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='file', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='file'):
|
|
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')), ))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='file', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class file
|
|
|
|
|
|
class ignore(GeneratedsSuper):
|
|
"""Ignores a Package"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, ignore)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if ignore.subclass:
|
|
return ignore.subclass(*args_, **kwargs_)
|
|
else:
|
|
return ignore(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='ignore', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='ignore')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='ignore', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='ignore'):
|
|
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, namespace_='', name_='ignore', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class ignore
|
|
|
|
|
|
class instrepo(k_source):
|
|
"""Name of a Installation Repository"""
|
|
subclass = None
|
|
superclass = k_source
|
|
def __init__(self, source=None, local=None, name=None, password=None, priority=None, username=None):
|
|
self.original_tagname_ = None
|
|
super(instrepo, self).__init__(source, )
|
|
self.local = _cast(bool, local)
|
|
self.name = _cast(None, name)
|
|
self.password = _cast(None, password)
|
|
self.priority = _cast(None, priority)
|
|
self.username = _cast(None, username)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, instrepo)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if instrepo.subclass:
|
|
return instrepo.subclass(*args_, **kwargs_)
|
|
else:
|
|
return instrepo(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_local(self): return self.local
|
|
def set_local(self, local): self.local = local
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_password(self): return self.password
|
|
def set_password(self, password): self.password = password
|
|
def get_priority(self): return self.priority
|
|
def set_priority(self, priority): self.priority = priority
|
|
def get_username(self): return self.username
|
|
def set_username(self, username): self.username = username
|
|
def hasContent_(self):
|
|
if (
|
|
super(instrepo, self).hasContent_()
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='instrepo', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='instrepo')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='instrepo', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='instrepo'):
|
|
super(instrepo, self).exportAttributes(outfile, level, already_processed, namespace_, name_='instrepo')
|
|
if self.local is not None and 'local' not in already_processed:
|
|
already_processed.add('local')
|
|
outfile.write(' local="%s"' % self.gds_format_boolean(self.local, input_name='local'))
|
|
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')), ))
|
|
if self.password is not None and 'password' not in already_processed:
|
|
already_processed.add('password')
|
|
outfile.write(' password=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.password), input_name='password')), ))
|
|
if self.priority is not None and 'priority' not in already_processed:
|
|
already_processed.add('priority')
|
|
outfile.write(' priority=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.priority), input_name='priority')), ))
|
|
if self.username is not None and 'username' not in already_processed:
|
|
already_processed.add('username')
|
|
outfile.write(' username=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.username), input_name='username')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='instrepo', fromsubclass_=False, pretty_print=True):
|
|
super(instrepo, self).exportChildren(outfile, level, namespace_, name_, True, pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('local', node)
|
|
if value is not None and 'local' not in already_processed:
|
|
already_processed.add('local')
|
|
if value in ('true', '1'):
|
|
self.local = True
|
|
elif value in ('false', '0'):
|
|
self.local = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('name', node)
|
|
if value is not None and 'name' not in already_processed:
|
|
already_processed.add('name')
|
|
self.name = value
|
|
value = find_attr_value_('password', node)
|
|
if value is not None and 'password' not in already_processed:
|
|
already_processed.add('password')
|
|
self.password = value
|
|
value = find_attr_value_('priority', node)
|
|
if value is not None and 'priority' not in already_processed:
|
|
already_processed.add('priority')
|
|
self.priority = value
|
|
value = find_attr_value_('username', node)
|
|
if value is not None and 'username' not in already_processed:
|
|
already_processed.add('username')
|
|
self.username = value
|
|
super(instrepo, self).buildAttributes(node, attrs, already_processed)
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
super(instrepo, self).buildChildren(child_, node, nodeName_, True)
|
|
pass
|
|
# end class instrepo
|
|
|
|
|
|
class metadata(GeneratedsSuper):
|
|
"""Contains Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, repopackage=None, metafile=None, chroot=None):
|
|
self.original_tagname_ = None
|
|
if repopackage is None:
|
|
self.repopackage = []
|
|
else:
|
|
self.repopackage = repopackage
|
|
if metafile is None:
|
|
self.metafile = []
|
|
else:
|
|
self.metafile = metafile
|
|
if chroot is None:
|
|
self.chroot = []
|
|
else:
|
|
self.chroot = chroot
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, metadata)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if metadata.subclass:
|
|
return metadata.subclass(*args_, **kwargs_)
|
|
else:
|
|
return metadata(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_repopackage(self): return self.repopackage
|
|
def set_repopackage(self, repopackage): self.repopackage = repopackage
|
|
def add_repopackage(self, value): self.repopackage.append(value)
|
|
def insert_repopackage_at(self, index, value): self.repopackage.insert(index, value)
|
|
def replace_repopackage_at(self, index, value): self.repopackage[index] = value
|
|
def get_metafile(self): return self.metafile
|
|
def set_metafile(self, metafile): self.metafile = metafile
|
|
def add_metafile(self, value): self.metafile.append(value)
|
|
def insert_metafile_at(self, index, value): self.metafile.insert(index, value)
|
|
def replace_metafile_at(self, index, value): self.metafile[index] = value
|
|
def get_chroot(self): return self.chroot
|
|
def set_chroot(self, chroot): self.chroot = chroot
|
|
def add_chroot(self, value): self.chroot.append(value)
|
|
def insert_chroot_at(self, index, value): self.chroot.insert(index, value)
|
|
def replace_chroot_at(self, index, value): self.chroot[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.repopackage or
|
|
self.metafile or
|
|
self.chroot
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='metadata', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='metadata')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='metadata', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='metadata'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='metadata', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for repopackage_ in self.repopackage:
|
|
repopackage_.export(outfile, level, namespace_, name_='repopackage', pretty_print=pretty_print)
|
|
for metafile_ in self.metafile:
|
|
metafile_.export(outfile, level, namespace_, name_='metafile', pretty_print=pretty_print)
|
|
for chroot_ in self.chroot:
|
|
chroot_.export(outfile, level, namespace_, name_='chroot', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'repopackage':
|
|
obj_ = repopackage.factory()
|
|
obj_.build(child_)
|
|
self.repopackage.append(obj_)
|
|
obj_.original_tagname_ = 'repopackage'
|
|
elif nodeName_ == 'metafile':
|
|
obj_ = metafile.factory()
|
|
obj_.build(child_)
|
|
self.metafile.append(obj_)
|
|
obj_.original_tagname_ = 'metafile'
|
|
elif nodeName_ == 'chroot':
|
|
obj_ = chroot.factory()
|
|
obj_.build(child_)
|
|
self.chroot.append(obj_)
|
|
obj_.original_tagname_ = 'chroot'
|
|
# end class metadata
|
|
|
|
|
|
class metafile(GeneratedsSuper):
|
|
"""A file Pointer Optionally Bundled With a Script"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, url=None, script=None, target=None):
|
|
self.original_tagname_ = None
|
|
self.url = _cast(None, url)
|
|
self.script = _cast(None, script)
|
|
self.target = _cast(None, target)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, metafile)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if metafile.subclass:
|
|
return metafile.subclass(*args_, **kwargs_)
|
|
else:
|
|
return metafile(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_url(self): return self.url
|
|
def set_url(self, url): self.url = url
|
|
def get_script(self): return self.script
|
|
def set_script(self, script): self.script = script
|
|
def get_target(self): return self.target
|
|
def set_target(self, target): self.target = target
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='metafile', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='metafile')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='metafile', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='metafile'):
|
|
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.script is not None and 'script' not in already_processed:
|
|
already_processed.add('script')
|
|
outfile.write(' script=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.script), input_name='script')), ))
|
|
if self.target is not None and 'target' not in already_processed:
|
|
already_processed.add('target')
|
|
outfile.write(' target=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.target), input_name='target')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='metafile', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('url', node)
|
|
if value is not None and 'url' not in already_processed:
|
|
already_processed.add('url')
|
|
self.url = value
|
|
value = find_attr_value_('script', node)
|
|
if value is not None and 'script' not in already_processed:
|
|
already_processed.add('script')
|
|
self.script = value
|
|
value = find_attr_value_('target', node)
|
|
if value is not None and 'target' not in already_processed:
|
|
already_processed.add('target')
|
|
self.target = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class metafile
|
|
|
|
|
|
class namedCollection(GeneratedsSuper):
|
|
"""Name of a Pattern for SUSE or a Group for RH"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, arch=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.arch = _cast(None, arch)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, namedCollection)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if namedCollection.subclass:
|
|
return namedCollection.subclass(*args_, **kwargs_)
|
|
else:
|
|
return namedCollection(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='namedCollection', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='namedCollection')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='namedCollection', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='namedCollection'):
|
|
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')), ))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='namedCollection', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class namedCollection
|
|
|
|
|
|
class product(GeneratedsSuper):
|
|
"""Name of a Product From openSUSE"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, arch=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.arch = _cast(None, arch)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, product)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if product.subclass:
|
|
return product.subclass(*args_, **kwargs_)
|
|
else:
|
|
return product(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='product', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='product')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='product', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='product'):
|
|
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')), ))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='product', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class product
|
|
|
|
|
|
class package(GeneratedsSuper):
|
|
"""Name of an image Package"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, arch=None, replaces=None, bootdelete=None, bootinclude=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.arch = _cast(None, arch)
|
|
self.replaces = _cast(None, replaces)
|
|
self.bootdelete = _cast(bool, bootdelete)
|
|
self.bootinclude = _cast(bool, bootinclude)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, package)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if package.subclass:
|
|
return package.subclass(*args_, **kwargs_)
|
|
else:
|
|
return package(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def get_replaces(self): return self.replaces
|
|
def set_replaces(self, replaces): self.replaces = replaces
|
|
def get_bootdelete(self): return self.bootdelete
|
|
def set_bootdelete(self, bootdelete): self.bootdelete = bootdelete
|
|
def get_bootinclude(self): return self.bootinclude
|
|
def set_bootinclude(self, bootinclude): self.bootinclude = bootinclude
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='package', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='package')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='package', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='package'):
|
|
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')), ))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
if self.replaces is not None and 'replaces' not in already_processed:
|
|
already_processed.add('replaces')
|
|
outfile.write(' replaces=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.replaces), input_name='replaces')), ))
|
|
if self.bootdelete is not None and 'bootdelete' not in already_processed:
|
|
already_processed.add('bootdelete')
|
|
outfile.write(' bootdelete="%s"' % self.gds_format_boolean(self.bootdelete, input_name='bootdelete'))
|
|
if self.bootinclude is not None and 'bootinclude' not in already_processed:
|
|
already_processed.add('bootinclude')
|
|
outfile.write(' bootinclude="%s"' % self.gds_format_boolean(self.bootinclude, input_name='bootinclude'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='package', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
value = find_attr_value_('replaces', node)
|
|
if value is not None and 'replaces' not in already_processed:
|
|
already_processed.add('replaces')
|
|
self.replaces = value
|
|
value = find_attr_value_('bootdelete', node)
|
|
if value is not None and 'bootdelete' not in already_processed:
|
|
already_processed.add('bootdelete')
|
|
if value in ('true', '1'):
|
|
self.bootdelete = True
|
|
elif value in ('false', '0'):
|
|
self.bootdelete = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('bootinclude', node)
|
|
if value is not None and 'bootinclude' not in already_processed:
|
|
already_processed.add('bootinclude')
|
|
if value in ('true', '1'):
|
|
self.bootinclude = True
|
|
elif value in ('false', '0'):
|
|
self.bootinclude = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class package
|
|
|
|
|
|
class partition(GeneratedsSuper):
|
|
"""A Partition"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, type_=None, number=None, size=None, mountpoint=None, target=None):
|
|
self.original_tagname_ = None
|
|
self.type_ = _cast(None, type_)
|
|
self.number = _cast(None, number)
|
|
self.size = _cast(None, size)
|
|
self.mountpoint = _cast(None, mountpoint)
|
|
self.target = _cast(bool, target)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, partition)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if partition.subclass:
|
|
return partition.subclass(*args_, **kwargs_)
|
|
else:
|
|
return partition(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def get_number(self): return self.number
|
|
def set_number(self, number): self.number = number
|
|
def get_size(self): return self.size
|
|
def set_size(self, size): self.size = size
|
|
def get_mountpoint(self): return self.mountpoint
|
|
def set_mountpoint(self, mountpoint): self.mountpoint = mountpoint
|
|
def get_target(self): return self.target
|
|
def set_target(self, target): self.target = target
|
|
def validate_size_type(self, value):
|
|
# Validate type size-type, a restriction on xs:token.
|
|
if value is not None and Validate_simpletypes_:
|
|
if not self.gds_validate_simple_patterns(
|
|
self.validate_size_type_patterns_, value):
|
|
warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_size_type_patterns_, ))
|
|
validate_size_type_patterns_ = [['^\\d*|image$']]
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='partition', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='partition')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='partition', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='partition'):
|
|
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.number is not None and 'number' not in already_processed:
|
|
already_processed.add('number')
|
|
outfile.write(' number=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.number), input_name='number')), ))
|
|
if self.size is not None and 'size' not in already_processed:
|
|
already_processed.add('size')
|
|
outfile.write(' size=%s' % (quote_attrib(self.size), ))
|
|
if self.mountpoint is not None and 'mountpoint' not in already_processed:
|
|
already_processed.add('mountpoint')
|
|
outfile.write(' mountpoint=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.mountpoint), input_name='mountpoint')), ))
|
|
if self.target is not None and 'target' not in already_processed:
|
|
already_processed.add('target')
|
|
outfile.write(' target="%s"' % self.gds_format_boolean(self.target, input_name='target'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='partition', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('number', node)
|
|
if value is not None and 'number' not in already_processed:
|
|
already_processed.add('number')
|
|
self.number = value
|
|
value = find_attr_value_('size', node)
|
|
if value is not None and 'size' not in already_processed:
|
|
already_processed.add('size')
|
|
self.size = value
|
|
self.size = ' '.join(self.size.split())
|
|
self.validate_size_type(self.size) # validate type size-type
|
|
value = find_attr_value_('mountpoint', node)
|
|
if value is not None and 'mountpoint' not in already_processed:
|
|
already_processed.add('mountpoint')
|
|
self.mountpoint = value
|
|
value = find_attr_value_('target', node)
|
|
if value is not None and 'target' not in already_processed:
|
|
already_processed.add('target')
|
|
if value in ('true', '1'):
|
|
self.target = True
|
|
elif value in ('false', '0'):
|
|
self.target = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class partition
|
|
|
|
|
|
class partitions(GeneratedsSuper):
|
|
"""A List of Partitions"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, device=None, partition=None):
|
|
self.original_tagname_ = None
|
|
self.device = _cast(None, device)
|
|
if partition is None:
|
|
self.partition = []
|
|
else:
|
|
self.partition = partition
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, partitions)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if partitions.subclass:
|
|
return partitions.subclass(*args_, **kwargs_)
|
|
else:
|
|
return partitions(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_partition(self): return self.partition
|
|
def set_partition(self, partition): self.partition = partition
|
|
def add_partition(self, value): self.partition.append(value)
|
|
def insert_partition_at(self, index, value): self.partition.insert(index, value)
|
|
def replace_partition_at(self, index, value): self.partition[index] = value
|
|
def get_device(self): return self.device
|
|
def set_device(self, device): self.device = device
|
|
def hasContent_(self):
|
|
if (
|
|
self.partition
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='partitions', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='partitions')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='partitions', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='partitions'):
|
|
if self.device is not None and 'device' not in already_processed:
|
|
already_processed.add('device')
|
|
outfile.write(' device=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.device), input_name='device')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='partitions', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for partition_ in self.partition:
|
|
partition_.export(outfile, level, namespace_, name_='partition', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('device', node)
|
|
if value is not None and 'device' not in already_processed:
|
|
already_processed.add('device')
|
|
self.device = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'partition':
|
|
obj_ = partition.factory()
|
|
obj_.build(child_)
|
|
self.partition.append(obj_)
|
|
obj_.original_tagname_ = 'partition'
|
|
# end class partitions
|
|
|
|
|
|
class profile(GeneratedsSuper):
|
|
"""Creates Profiles"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, description=None, import_=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.description = _cast(None, description)
|
|
self.import_ = _cast(bool, import_)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, profile)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if profile.subclass:
|
|
return profile.subclass(*args_, **kwargs_)
|
|
else:
|
|
return profile(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_description(self): return self.description
|
|
def set_description(self, description): self.description = description
|
|
def get_import(self): return self.import_
|
|
def set_import(self, import_): self.import_ = import_
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='profile', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='profile')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='profile', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='profile'):
|
|
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')), ))
|
|
if self.description is not None and 'description' not in already_processed:
|
|
already_processed.add('description')
|
|
outfile.write(' description=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.description), input_name='description')), ))
|
|
if self.import_ is not None and 'import_' not in already_processed:
|
|
already_processed.add('import_')
|
|
outfile.write(' import="%s"' % self.gds_format_boolean(self.import_, input_name='import'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='profile', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('description', node)
|
|
if value is not None and 'description' not in already_processed:
|
|
already_processed.add('description')
|
|
self.description = value
|
|
value = find_attr_value_('import', node)
|
|
if value is not None and 'import' not in already_processed:
|
|
already_processed.add('import')
|
|
if value in ('true', '1'):
|
|
self.import_ = True
|
|
elif value in ('false', '0'):
|
|
self.import_ = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class profile
|
|
|
|
|
|
class repopackage(GeneratedsSuper):
|
|
"""Name of an instsource Package"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, arch=None, forcerepo=None, addarch=None, removearch=None, onlyarch=None, source=None, script=None, medium=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.arch = _cast(None, arch)
|
|
self.forcerepo = _cast(None, forcerepo)
|
|
self.addarch = _cast(None, addarch)
|
|
self.removearch = _cast(None, removearch)
|
|
self.onlyarch = _cast(None, onlyarch)
|
|
self.source = _cast(None, source)
|
|
self.script = _cast(None, script)
|
|
self.medium = _cast(int, medium)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, repopackage)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if repopackage.subclass:
|
|
return repopackage.subclass(*args_, **kwargs_)
|
|
else:
|
|
return repopackage(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def get_forcerepo(self): return self.forcerepo
|
|
def set_forcerepo(self, forcerepo): self.forcerepo = forcerepo
|
|
def get_addarch(self): return self.addarch
|
|
def set_addarch(self, addarch): self.addarch = addarch
|
|
def get_removearch(self): return self.removearch
|
|
def set_removearch(self, removearch): self.removearch = removearch
|
|
def get_onlyarch(self): return self.onlyarch
|
|
def set_onlyarch(self, onlyarch): self.onlyarch = onlyarch
|
|
def get_source(self): return self.source
|
|
def set_source(self, source): self.source = source
|
|
def get_script(self): return self.script
|
|
def set_script(self, script): self.script = script
|
|
def get_medium(self): return self.medium
|
|
def set_medium(self, medium): self.medium = medium
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='repopackage', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='repopackage')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='repopackage', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='repopackage'):
|
|
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')), ))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
if self.forcerepo is not None and 'forcerepo' not in already_processed:
|
|
already_processed.add('forcerepo')
|
|
outfile.write(' forcerepo=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.forcerepo), input_name='forcerepo')), ))
|
|
if self.addarch is not None and 'addarch' not in already_processed:
|
|
already_processed.add('addarch')
|
|
outfile.write(' addarch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.addarch), input_name='addarch')), ))
|
|
if self.removearch is not None and 'removearch' not in already_processed:
|
|
already_processed.add('removearch')
|
|
outfile.write(' removearch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.removearch), input_name='removearch')), ))
|
|
if self.onlyarch is not None and 'onlyarch' not in already_processed:
|
|
already_processed.add('onlyarch')
|
|
outfile.write(' onlyarch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.onlyarch), input_name='onlyarch')), ))
|
|
if self.source is not None and 'source' not in already_processed:
|
|
already_processed.add('source')
|
|
outfile.write(' source=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.source), input_name='source')), ))
|
|
if self.script is not None and 'script' not in already_processed:
|
|
already_processed.add('script')
|
|
outfile.write(' script=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.script), input_name='script')), ))
|
|
if self.medium is not None and 'medium' not in already_processed:
|
|
already_processed.add('medium')
|
|
outfile.write(' medium="%s"' % self.gds_format_integer(self.medium, input_name='medium'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='repopackage', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
value = find_attr_value_('forcerepo', node)
|
|
if value is not None and 'forcerepo' not in already_processed:
|
|
already_processed.add('forcerepo')
|
|
self.forcerepo = value
|
|
value = find_attr_value_('addarch', node)
|
|
if value is not None and 'addarch' not in already_processed:
|
|
already_processed.add('addarch')
|
|
self.addarch = value
|
|
value = find_attr_value_('removearch', node)
|
|
if value is not None and 'removearch' not in already_processed:
|
|
already_processed.add('removearch')
|
|
self.removearch = value
|
|
value = find_attr_value_('onlyarch', node)
|
|
if value is not None and 'onlyarch' not in already_processed:
|
|
already_processed.add('onlyarch')
|
|
self.onlyarch = value
|
|
value = find_attr_value_('source', node)
|
|
if value is not None and 'source' not in already_processed:
|
|
already_processed.add('source')
|
|
self.source = value
|
|
value = find_attr_value_('script', node)
|
|
if value is not None and 'script' not in already_processed:
|
|
already_processed.add('script')
|
|
self.script = value
|
|
value = find_attr_value_('medium', node)
|
|
if value is not None and 'medium' not in already_processed:
|
|
already_processed.add('medium')
|
|
try:
|
|
self.medium = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.medium < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class repopackage
|
|
|
|
|
|
class repository(k_source):
|
|
"""The Name of the Repository"""
|
|
subclass = None
|
|
superclass = k_source
|
|
def __init__(self, source=None, type_=None, profiles=None, status=None, alias=None, components=None, distribution=None, imageinclude=None, prefer_license=None, priority=None, password=None, username=None):
|
|
self.original_tagname_ = None
|
|
super(repository, self).__init__(source, )
|
|
self.type_ = _cast(None, type_)
|
|
self.profiles = _cast(None, profiles)
|
|
self.status = _cast(None, status)
|
|
self.alias = _cast(None, alias)
|
|
self.components = _cast(None, components)
|
|
self.distribution = _cast(None, distribution)
|
|
self.imageinclude = _cast(bool, imageinclude)
|
|
self.prefer_license = _cast(bool, prefer_license)
|
|
self.priority = _cast(int, priority)
|
|
self.password = _cast(None, password)
|
|
self.username = _cast(None, username)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, repository)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if repository.subclass:
|
|
return repository.subclass(*args_, **kwargs_)
|
|
else:
|
|
return repository(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def get_status(self): return self.status
|
|
def set_status(self, status): self.status = status
|
|
def get_alias(self): return self.alias
|
|
def set_alias(self, alias): self.alias = alias
|
|
def get_components(self): return self.components
|
|
def set_components(self, components): self.components = components
|
|
def get_distribution(self): return self.distribution
|
|
def set_distribution(self, distribution): self.distribution = distribution
|
|
def get_imageinclude(self): return self.imageinclude
|
|
def set_imageinclude(self, imageinclude): self.imageinclude = imageinclude
|
|
def get_prefer_license(self): return self.prefer_license
|
|
def set_prefer_license(self, prefer_license): self.prefer_license = prefer_license
|
|
def get_priority(self): return self.priority
|
|
def set_priority(self, priority): self.priority = priority
|
|
def get_password(self): return self.password
|
|
def set_password(self, password): self.password = password
|
|
def get_username(self): return self.username
|
|
def set_username(self, username): self.username = username
|
|
def hasContent_(self):
|
|
if (
|
|
super(repository, self).hasContent_()
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='repository', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='repository')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='repository', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='repository'):
|
|
super(repository, self).exportAttributes(outfile, level, already_processed, namespace_, name_='repository')
|
|
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.profiles is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
|
|
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')), ))
|
|
if self.alias is not None and 'alias' not in already_processed:
|
|
already_processed.add('alias')
|
|
outfile.write(' alias=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.alias), input_name='alias')), ))
|
|
if self.components is not None and 'components' not in already_processed:
|
|
already_processed.add('components')
|
|
outfile.write(' components=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.components), input_name='components')), ))
|
|
if self.distribution is not None and 'distribution' not in already_processed:
|
|
already_processed.add('distribution')
|
|
outfile.write(' distribution=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.distribution), input_name='distribution')), ))
|
|
if self.imageinclude is not None and 'imageinclude' not in already_processed:
|
|
already_processed.add('imageinclude')
|
|
outfile.write(' imageinclude="%s"' % self.gds_format_boolean(self.imageinclude, input_name='imageinclude'))
|
|
if self.prefer_license is not None and 'prefer_license' not in already_processed:
|
|
already_processed.add('prefer_license')
|
|
outfile.write(' prefer-license="%s"' % self.gds_format_boolean(self.prefer_license, input_name='prefer-license'))
|
|
if self.priority is not None and 'priority' not in already_processed:
|
|
already_processed.add('priority')
|
|
outfile.write(' priority="%s"' % self.gds_format_integer(self.priority, input_name='priority'))
|
|
if self.password is not None and 'password' not in already_processed:
|
|
already_processed.add('password')
|
|
outfile.write(' password=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.password), input_name='password')), ))
|
|
if self.username is not None and 'username' not in already_processed:
|
|
already_processed.add('username')
|
|
outfile.write(' username=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.username), input_name='username')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='repository', fromsubclass_=False, pretty_print=True):
|
|
super(repository, self).exportChildren(outfile, level, namespace_, name_, True, pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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.type_ = ' '.join(self.type_.split())
|
|
value = find_attr_value_('profiles', node)
|
|
if value is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
self.profiles = value
|
|
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.status = ' '.join(self.status.split())
|
|
value = find_attr_value_('alias', node)
|
|
if value is not None and 'alias' not in already_processed:
|
|
already_processed.add('alias')
|
|
self.alias = value
|
|
value = find_attr_value_('components', node)
|
|
if value is not None and 'components' not in already_processed:
|
|
already_processed.add('components')
|
|
self.components = value
|
|
value = find_attr_value_('distribution', node)
|
|
if value is not None and 'distribution' not in already_processed:
|
|
already_processed.add('distribution')
|
|
self.distribution = value
|
|
value = find_attr_value_('imageinclude', node)
|
|
if value is not None and 'imageinclude' not in already_processed:
|
|
already_processed.add('imageinclude')
|
|
if value in ('true', '1'):
|
|
self.imageinclude = True
|
|
elif value in ('false', '0'):
|
|
self.imageinclude = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('prefer-license', node)
|
|
if value is not None and 'prefer-license' not in already_processed:
|
|
already_processed.add('prefer-license')
|
|
if value in ('true', '1'):
|
|
self.prefer_license = True
|
|
elif value in ('false', '0'):
|
|
self.prefer_license = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('priority', node)
|
|
if value is not None and 'priority' not in already_processed:
|
|
already_processed.add('priority')
|
|
try:
|
|
self.priority = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
value = find_attr_value_('password', node)
|
|
if value is not None and 'password' not in already_processed:
|
|
already_processed.add('password')
|
|
self.password = value
|
|
value = find_attr_value_('username', node)
|
|
if value is not None and 'username' not in already_processed:
|
|
already_processed.add('username')
|
|
self.username = value
|
|
super(repository, self).buildAttributes(node, attrs, already_processed)
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
super(repository, self).buildChildren(child_, node, nodeName_, True)
|
|
pass
|
|
# end class repository
|
|
|
|
|
|
class size(GeneratedsSuper):
|
|
"""Specifies the Size of an Image in (M)egabyte or (G)igabyte If the
|
|
attribute additive is set the value will be added to the
|
|
required size of the image"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, unit=None, additive=None, valueOf_=None):
|
|
self.original_tagname_ = None
|
|
self.unit = _cast(None, unit)
|
|
self.additive = _cast(bool, additive)
|
|
self.valueOf_ = valueOf_
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, size)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if size.subclass:
|
|
return size.subclass(*args_, **kwargs_)
|
|
else:
|
|
return size(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_unit(self): return self.unit
|
|
def set_unit(self, unit): self.unit = unit
|
|
def get_additive(self): return self.additive
|
|
def set_additive(self, additive): self.additive = additive
|
|
def get_valueOf_(self): return self.valueOf_
|
|
def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_
|
|
def hasContent_(self):
|
|
if (
|
|
1 if type(self.valueOf_) in [int,float] else self.valueOf_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='size', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='size')
|
|
if self.hasContent_():
|
|
outfile.write('>')
|
|
outfile.write((quote_xml(self.valueOf_) if type(self.valueOf_) is str else self.gds_encode(str(self.valueOf_))))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='size', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='size'):
|
|
if self.unit is not None and 'unit' not in already_processed:
|
|
already_processed.add('unit')
|
|
outfile.write(' unit=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.unit), input_name='unit')), ))
|
|
if self.additive is not None and 'additive' not in already_processed:
|
|
already_processed.add('additive')
|
|
outfile.write(' additive="%s"' % self.gds_format_boolean(self.additive, input_name='additive'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='size', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
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_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('unit', node)
|
|
if value is not None and 'unit' not in already_processed:
|
|
already_processed.add('unit')
|
|
self.unit = value
|
|
self.unit = ' '.join(self.unit.split())
|
|
value = find_attr_value_('additive', node)
|
|
if value is not None and 'additive' not in already_processed:
|
|
already_processed.add('additive')
|
|
if value in ('true', '1'):
|
|
self.additive = True
|
|
elif value in ('false', '0'):
|
|
self.additive = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class size
|
|
|
|
|
|
class source(GeneratedsSuper):
|
|
"""A Pointer to a Repository/Package Source"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, path=None):
|
|
self.original_tagname_ = None
|
|
self.path = _cast(None, path)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, source)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if source.subclass:
|
|
return source.subclass(*args_, **kwargs_)
|
|
else:
|
|
return source(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_path(self): return self.path
|
|
def set_path(self, path): self.path = path
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='source', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='source')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='source', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='source'):
|
|
if self.path is not None and 'path' not in already_processed:
|
|
already_processed.add('path')
|
|
outfile.write(' path=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.path), input_name='path')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='source', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('path', node)
|
|
if value is not None and 'path' not in already_processed:
|
|
already_processed.add('path')
|
|
self.path = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class source
|
|
|
|
|
|
class systemdisk(GeneratedsSuper):
|
|
"""Specify volumes and size attributes"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, preferlvm=None, volume=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.preferlvm = _cast(bool, preferlvm)
|
|
if volume is None:
|
|
self.volume = []
|
|
else:
|
|
self.volume = volume
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, systemdisk)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if systemdisk.subclass:
|
|
return systemdisk.subclass(*args_, **kwargs_)
|
|
else:
|
|
return systemdisk(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_volume(self): return self.volume
|
|
def set_volume(self, volume): self.volume = volume
|
|
def add_volume(self, value): self.volume.append(value)
|
|
def insert_volume_at(self, index, value): self.volume.insert(index, value)
|
|
def replace_volume_at(self, index, value): self.volume[index] = value
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_preferlvm(self): return self.preferlvm
|
|
def set_preferlvm(self, preferlvm): self.preferlvm = preferlvm
|
|
def hasContent_(self):
|
|
if (
|
|
self.volume
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='systemdisk', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='systemdisk')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='systemdisk', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='systemdisk'):
|
|
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')), ))
|
|
if self.preferlvm is not None and 'preferlvm' not in already_processed:
|
|
already_processed.add('preferlvm')
|
|
outfile.write(' preferlvm="%s"' % self.gds_format_boolean(self.preferlvm, input_name='preferlvm'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='systemdisk', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for volume_ in self.volume:
|
|
volume_.export(outfile, level, namespace_, name_='volume', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('preferlvm', node)
|
|
if value is not None and 'preferlvm' not in already_processed:
|
|
already_processed.add('preferlvm')
|
|
if value in ('true', '1'):
|
|
self.preferlvm = True
|
|
elif value in ('false', '0'):
|
|
self.preferlvm = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'volume':
|
|
obj_ = volume.factory()
|
|
obj_.build(child_)
|
|
self.volume.append(obj_)
|
|
obj_.original_tagname_ = 'volume'
|
|
# end class systemdisk
|
|
|
|
|
|
class type_(GeneratedsSuper):
|
|
"""The Image Type of the Logical Extend"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, boot=None, bootfilesystem=None, firmware=None, bootkernel=None, bootloader=None, bootloader_console=None, zipl_targettype=None, bootpartition=None, bootpartsize=None, bootprofile=None, boottimeout=None, btrfs_root_is_snapshot=None, btrfs_root_is_readonly_snapshot=None, checkprebuilt=None, compressed=None, devicepersistency=None, editbootconfig=None, editbootinstall=None, filesystem=None, flags=None, format=None, formatoptions=None, fsnocheck=None, fsmountoptions=None, gcelicense=None, hybrid=None, hybridpersistent=None, hybridpersistent_filesystem=None, gpt_hybrid_mbr=None, initrd_system=None, image=None, installboot=None, installprovidefailsafe=None, installiso=None, installstick=None, installpxe=None, kernelcmdline=None, luks=None, luksOS=None, mdraid=None, overlayroot=None, primary=None, ramonly=None, rootfs_label=None, target_blocksize=None, target_removable=None, vbootsize=None, vga=None, vhdfixedtag=None, volid=None, wwid_wait_timeout=None, containerconfig=None, machine=None, oemconfig=None, pxedeploy=None, size=None, systemdisk=None, vagrantconfig=None):
|
|
self.original_tagname_ = None
|
|
self.boot = _cast(None, boot)
|
|
self.bootfilesystem = _cast(None, bootfilesystem)
|
|
self.firmware = _cast(None, firmware)
|
|
self.bootkernel = _cast(None, bootkernel)
|
|
self.bootloader = _cast(None, bootloader)
|
|
self.bootloader_console = _cast(None, bootloader_console)
|
|
self.zipl_targettype = _cast(None, zipl_targettype)
|
|
self.bootpartition = _cast(bool, bootpartition)
|
|
self.bootpartsize = _cast(int, bootpartsize)
|
|
self.bootprofile = _cast(None, bootprofile)
|
|
self.boottimeout = _cast(int, boottimeout)
|
|
self.btrfs_root_is_snapshot = _cast(bool, btrfs_root_is_snapshot)
|
|
self.btrfs_root_is_readonly_snapshot = _cast(bool, btrfs_root_is_readonly_snapshot)
|
|
self.checkprebuilt = _cast(bool, checkprebuilt)
|
|
self.compressed = _cast(bool, compressed)
|
|
self.devicepersistency = _cast(None, devicepersistency)
|
|
self.editbootconfig = _cast(None, editbootconfig)
|
|
self.editbootinstall = _cast(None, editbootinstall)
|
|
self.filesystem = _cast(None, filesystem)
|
|
self.flags = _cast(None, flags)
|
|
self.format = _cast(None, format)
|
|
self.formatoptions = _cast(None, formatoptions)
|
|
self.fsnocheck = _cast(bool, fsnocheck)
|
|
self.fsmountoptions = _cast(None, fsmountoptions)
|
|
self.gcelicense = _cast(None, gcelicense)
|
|
self.hybrid = _cast(bool, hybrid)
|
|
self.hybridpersistent = _cast(bool, hybridpersistent)
|
|
self.hybridpersistent_filesystem = _cast(None, hybridpersistent_filesystem)
|
|
self.gpt_hybrid_mbr = _cast(bool, gpt_hybrid_mbr)
|
|
self.initrd_system = _cast(None, initrd_system)
|
|
self.image = _cast(None, image)
|
|
self.installboot = _cast(None, installboot)
|
|
self.installprovidefailsafe = _cast(bool, installprovidefailsafe)
|
|
self.installiso = _cast(bool, installiso)
|
|
self.installstick = _cast(bool, installstick)
|
|
self.installpxe = _cast(bool, installpxe)
|
|
self.kernelcmdline = _cast(None, kernelcmdline)
|
|
self.luks = _cast(None, luks)
|
|
self.luksOS = _cast(None, luksOS)
|
|
self.mdraid = _cast(None, mdraid)
|
|
self.overlayroot = _cast(bool, overlayroot)
|
|
self.primary = _cast(bool, primary)
|
|
self.ramonly = _cast(bool, ramonly)
|
|
self.rootfs_label = _cast(None, rootfs_label)
|
|
self.target_blocksize = _cast(int, target_blocksize)
|
|
self.target_removable = _cast(bool, target_removable)
|
|
self.vbootsize = _cast(int, vbootsize)
|
|
self.vga = _cast(None, vga)
|
|
self.vhdfixedtag = _cast(None, vhdfixedtag)
|
|
self.volid = _cast(None, volid)
|
|
self.wwid_wait_timeout = _cast(int, wwid_wait_timeout)
|
|
if containerconfig is None:
|
|
self.containerconfig = []
|
|
else:
|
|
self.containerconfig = containerconfig
|
|
if machine is None:
|
|
self.machine = []
|
|
else:
|
|
self.machine = machine
|
|
if oemconfig is None:
|
|
self.oemconfig = []
|
|
else:
|
|
self.oemconfig = oemconfig
|
|
if pxedeploy is None:
|
|
self.pxedeploy = []
|
|
else:
|
|
self.pxedeploy = pxedeploy
|
|
if size is None:
|
|
self.size = []
|
|
else:
|
|
self.size = size
|
|
if systemdisk is None:
|
|
self.systemdisk = []
|
|
else:
|
|
self.systemdisk = systemdisk
|
|
if vagrantconfig is None:
|
|
self.vagrantconfig = []
|
|
else:
|
|
self.vagrantconfig = vagrantconfig
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, type_)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if type_.subclass:
|
|
return type_.subclass(*args_, **kwargs_)
|
|
else:
|
|
return type_(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_containerconfig(self): return self.containerconfig
|
|
def set_containerconfig(self, containerconfig): self.containerconfig = containerconfig
|
|
def add_containerconfig(self, value): self.containerconfig.append(value)
|
|
def insert_containerconfig_at(self, index, value): self.containerconfig.insert(index, value)
|
|
def replace_containerconfig_at(self, index, value): self.containerconfig[index] = value
|
|
def get_machine(self): return self.machine
|
|
def set_machine(self, machine): self.machine = machine
|
|
def add_machine(self, value): self.machine.append(value)
|
|
def insert_machine_at(self, index, value): self.machine.insert(index, value)
|
|
def replace_machine_at(self, index, value): self.machine[index] = value
|
|
def get_oemconfig(self): return self.oemconfig
|
|
def set_oemconfig(self, oemconfig): self.oemconfig = oemconfig
|
|
def add_oemconfig(self, value): self.oemconfig.append(value)
|
|
def insert_oemconfig_at(self, index, value): self.oemconfig.insert(index, value)
|
|
def replace_oemconfig_at(self, index, value): self.oemconfig[index] = value
|
|
def get_pxedeploy(self): return self.pxedeploy
|
|
def set_pxedeploy(self, pxedeploy): self.pxedeploy = pxedeploy
|
|
def add_pxedeploy(self, value): self.pxedeploy.append(value)
|
|
def insert_pxedeploy_at(self, index, value): self.pxedeploy.insert(index, value)
|
|
def replace_pxedeploy_at(self, index, value): self.pxedeploy[index] = value
|
|
def get_size(self): return self.size
|
|
def set_size(self, size): self.size = size
|
|
def add_size(self, value): self.size.append(value)
|
|
def insert_size_at(self, index, value): self.size.insert(index, value)
|
|
def replace_size_at(self, index, value): self.size[index] = value
|
|
def get_systemdisk(self): return self.systemdisk
|
|
def set_systemdisk(self, systemdisk): self.systemdisk = systemdisk
|
|
def add_systemdisk(self, value): self.systemdisk.append(value)
|
|
def insert_systemdisk_at(self, index, value): self.systemdisk.insert(index, value)
|
|
def replace_systemdisk_at(self, index, value): self.systemdisk[index] = value
|
|
def get_vagrantconfig(self): return self.vagrantconfig
|
|
def set_vagrantconfig(self, vagrantconfig): self.vagrantconfig = vagrantconfig
|
|
def add_vagrantconfig(self, value): self.vagrantconfig.append(value)
|
|
def insert_vagrantconfig_at(self, index, value): self.vagrantconfig.insert(index, value)
|
|
def replace_vagrantconfig_at(self, index, value): self.vagrantconfig[index] = value
|
|
def get_boot(self): return self.boot
|
|
def set_boot(self, boot): self.boot = boot
|
|
def get_bootfilesystem(self): return self.bootfilesystem
|
|
def set_bootfilesystem(self, bootfilesystem): self.bootfilesystem = bootfilesystem
|
|
def get_firmware(self): return self.firmware
|
|
def set_firmware(self, firmware): self.firmware = firmware
|
|
def get_bootkernel(self): return self.bootkernel
|
|
def set_bootkernel(self, bootkernel): self.bootkernel = bootkernel
|
|
def get_bootloader(self): return self.bootloader
|
|
def set_bootloader(self, bootloader): self.bootloader = bootloader
|
|
def get_bootloader_console(self): return self.bootloader_console
|
|
def set_bootloader_console(self, bootloader_console): self.bootloader_console = bootloader_console
|
|
def get_zipl_targettype(self): return self.zipl_targettype
|
|
def set_zipl_targettype(self, zipl_targettype): self.zipl_targettype = zipl_targettype
|
|
def get_bootpartition(self): return self.bootpartition
|
|
def set_bootpartition(self, bootpartition): self.bootpartition = bootpartition
|
|
def get_bootpartsize(self): return self.bootpartsize
|
|
def set_bootpartsize(self, bootpartsize): self.bootpartsize = bootpartsize
|
|
def get_bootprofile(self): return self.bootprofile
|
|
def set_bootprofile(self, bootprofile): self.bootprofile = bootprofile
|
|
def get_boottimeout(self): return self.boottimeout
|
|
def set_boottimeout(self, boottimeout): self.boottimeout = boottimeout
|
|
def get_btrfs_root_is_snapshot(self): return self.btrfs_root_is_snapshot
|
|
def set_btrfs_root_is_snapshot(self, btrfs_root_is_snapshot): self.btrfs_root_is_snapshot = btrfs_root_is_snapshot
|
|
def get_btrfs_root_is_readonly_snapshot(self): return self.btrfs_root_is_readonly_snapshot
|
|
def set_btrfs_root_is_readonly_snapshot(self, btrfs_root_is_readonly_snapshot): self.btrfs_root_is_readonly_snapshot = btrfs_root_is_readonly_snapshot
|
|
def get_checkprebuilt(self): return self.checkprebuilt
|
|
def set_checkprebuilt(self, checkprebuilt): self.checkprebuilt = checkprebuilt
|
|
def get_compressed(self): return self.compressed
|
|
def set_compressed(self, compressed): self.compressed = compressed
|
|
def get_devicepersistency(self): return self.devicepersistency
|
|
def set_devicepersistency(self, devicepersistency): self.devicepersistency = devicepersistency
|
|
def get_editbootconfig(self): return self.editbootconfig
|
|
def set_editbootconfig(self, editbootconfig): self.editbootconfig = editbootconfig
|
|
def get_editbootinstall(self): return self.editbootinstall
|
|
def set_editbootinstall(self, editbootinstall): self.editbootinstall = editbootinstall
|
|
def get_filesystem(self): return self.filesystem
|
|
def set_filesystem(self, filesystem): self.filesystem = filesystem
|
|
def get_flags(self): return self.flags
|
|
def set_flags(self, flags): self.flags = flags
|
|
def get_format(self): return self.format
|
|
def set_format(self, format): self.format = format
|
|
def get_formatoptions(self): return self.formatoptions
|
|
def set_formatoptions(self, formatoptions): self.formatoptions = formatoptions
|
|
def get_fsnocheck(self): return self.fsnocheck
|
|
def set_fsnocheck(self, fsnocheck): self.fsnocheck = fsnocheck
|
|
def get_fsmountoptions(self): return self.fsmountoptions
|
|
def set_fsmountoptions(self, fsmountoptions): self.fsmountoptions = fsmountoptions
|
|
def get_gcelicense(self): return self.gcelicense
|
|
def set_gcelicense(self, gcelicense): self.gcelicense = gcelicense
|
|
def get_hybrid(self): return self.hybrid
|
|
def set_hybrid(self, hybrid): self.hybrid = hybrid
|
|
def get_hybridpersistent(self): return self.hybridpersistent
|
|
def set_hybridpersistent(self, hybridpersistent): self.hybridpersistent = hybridpersistent
|
|
def get_hybridpersistent_filesystem(self): return self.hybridpersistent_filesystem
|
|
def set_hybridpersistent_filesystem(self, hybridpersistent_filesystem): self.hybridpersistent_filesystem = hybridpersistent_filesystem
|
|
def get_gpt_hybrid_mbr(self): return self.gpt_hybrid_mbr
|
|
def set_gpt_hybrid_mbr(self, gpt_hybrid_mbr): self.gpt_hybrid_mbr = gpt_hybrid_mbr
|
|
def get_initrd_system(self): return self.initrd_system
|
|
def set_initrd_system(self, initrd_system): self.initrd_system = initrd_system
|
|
def get_image(self): return self.image
|
|
def set_image(self, image): self.image = image
|
|
def get_installboot(self): return self.installboot
|
|
def set_installboot(self, installboot): self.installboot = installboot
|
|
def get_installprovidefailsafe(self): return self.installprovidefailsafe
|
|
def set_installprovidefailsafe(self, installprovidefailsafe): self.installprovidefailsafe = installprovidefailsafe
|
|
def get_installiso(self): return self.installiso
|
|
def set_installiso(self, installiso): self.installiso = installiso
|
|
def get_installstick(self): return self.installstick
|
|
def set_installstick(self, installstick): self.installstick = installstick
|
|
def get_installpxe(self): return self.installpxe
|
|
def set_installpxe(self, installpxe): self.installpxe = installpxe
|
|
def get_kernelcmdline(self): return self.kernelcmdline
|
|
def set_kernelcmdline(self, kernelcmdline): self.kernelcmdline = kernelcmdline
|
|
def get_luks(self): return self.luks
|
|
def set_luks(self, luks): self.luks = luks
|
|
def get_luksOS(self): return self.luksOS
|
|
def set_luksOS(self, luksOS): self.luksOS = luksOS
|
|
def get_mdraid(self): return self.mdraid
|
|
def set_mdraid(self, mdraid): self.mdraid = mdraid
|
|
def get_overlayroot(self): return self.overlayroot
|
|
def set_overlayroot(self, overlayroot): self.overlayroot = overlayroot
|
|
def get_primary(self): return self.primary
|
|
def set_primary(self, primary): self.primary = primary
|
|
def get_ramonly(self): return self.ramonly
|
|
def set_ramonly(self, ramonly): self.ramonly = ramonly
|
|
def get_rootfs_label(self): return self.rootfs_label
|
|
def set_rootfs_label(self, rootfs_label): self.rootfs_label = rootfs_label
|
|
def get_target_blocksize(self): return self.target_blocksize
|
|
def set_target_blocksize(self, target_blocksize): self.target_blocksize = target_blocksize
|
|
def get_target_removable(self): return self.target_removable
|
|
def set_target_removable(self, target_removable): self.target_removable = target_removable
|
|
def get_vbootsize(self): return self.vbootsize
|
|
def set_vbootsize(self, vbootsize): self.vbootsize = vbootsize
|
|
def get_vga(self): return self.vga
|
|
def set_vga(self, vga): self.vga = vga
|
|
def get_vhdfixedtag(self): return self.vhdfixedtag
|
|
def set_vhdfixedtag(self, vhdfixedtag): self.vhdfixedtag = vhdfixedtag
|
|
def get_volid(self): return self.volid
|
|
def set_volid(self, volid): self.volid = volid
|
|
def get_wwid_wait_timeout(self): return self.wwid_wait_timeout
|
|
def set_wwid_wait_timeout(self, wwid_wait_timeout): self.wwid_wait_timeout = wwid_wait_timeout
|
|
def validate_vhd_tag_type(self, value):
|
|
# Validate type vhd-tag-type, a restriction on xs:token.
|
|
if value is not None and Validate_simpletypes_:
|
|
if not self.gds_validate_simple_patterns(
|
|
self.validate_vhd_tag_type_patterns_, value):
|
|
warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_vhd_tag_type_patterns_, ))
|
|
validate_vhd_tag_type_patterns_ = [['^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$']]
|
|
def hasContent_(self):
|
|
if (
|
|
self.containerconfig or
|
|
self.machine or
|
|
self.oemconfig or
|
|
self.pxedeploy or
|
|
self.size or
|
|
self.systemdisk or
|
|
self.vagrantconfig
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='type', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='type')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='type', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='type'):
|
|
if self.boot is not None and 'boot' not in already_processed:
|
|
already_processed.add('boot')
|
|
outfile.write(' boot=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.boot), input_name='boot')), ))
|
|
if self.bootfilesystem is not None and 'bootfilesystem' not in already_processed:
|
|
already_processed.add('bootfilesystem')
|
|
outfile.write(' bootfilesystem=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.bootfilesystem), input_name='bootfilesystem')), ))
|
|
if self.firmware is not None and 'firmware' not in already_processed:
|
|
already_processed.add('firmware')
|
|
outfile.write(' firmware=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.firmware), input_name='firmware')), ))
|
|
if self.bootkernel is not None and 'bootkernel' not in already_processed:
|
|
already_processed.add('bootkernel')
|
|
outfile.write(' bootkernel=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.bootkernel), input_name='bootkernel')), ))
|
|
if self.bootloader is not None and 'bootloader' not in already_processed:
|
|
already_processed.add('bootloader')
|
|
outfile.write(' bootloader=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.bootloader), input_name='bootloader')), ))
|
|
if self.bootloader_console is not None and 'bootloader_console' not in already_processed:
|
|
already_processed.add('bootloader_console')
|
|
outfile.write(' bootloader_console=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.bootloader_console), input_name='bootloader_console')), ))
|
|
if self.zipl_targettype is not None and 'zipl_targettype' not in already_processed:
|
|
already_processed.add('zipl_targettype')
|
|
outfile.write(' zipl_targettype=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.zipl_targettype), input_name='zipl_targettype')), ))
|
|
if self.bootpartition is not None and 'bootpartition' not in already_processed:
|
|
already_processed.add('bootpartition')
|
|
outfile.write(' bootpartition="%s"' % self.gds_format_boolean(self.bootpartition, input_name='bootpartition'))
|
|
if self.bootpartsize is not None and 'bootpartsize' not in already_processed:
|
|
already_processed.add('bootpartsize')
|
|
outfile.write(' bootpartsize="%s"' % self.gds_format_integer(self.bootpartsize, input_name='bootpartsize'))
|
|
if self.bootprofile is not None and 'bootprofile' not in already_processed:
|
|
already_processed.add('bootprofile')
|
|
outfile.write(' bootprofile=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.bootprofile), input_name='bootprofile')), ))
|
|
if self.boottimeout is not None and 'boottimeout' not in already_processed:
|
|
already_processed.add('boottimeout')
|
|
outfile.write(' boottimeout="%s"' % self.gds_format_integer(self.boottimeout, input_name='boottimeout'))
|
|
if self.btrfs_root_is_snapshot is not None and 'btrfs_root_is_snapshot' not in already_processed:
|
|
already_processed.add('btrfs_root_is_snapshot')
|
|
outfile.write(' btrfs_root_is_snapshot="%s"' % self.gds_format_boolean(self.btrfs_root_is_snapshot, input_name='btrfs_root_is_snapshot'))
|
|
if self.btrfs_root_is_readonly_snapshot is not None and 'btrfs_root_is_readonly_snapshot' not in already_processed:
|
|
already_processed.add('btrfs_root_is_readonly_snapshot')
|
|
outfile.write(' btrfs_root_is_readonly_snapshot="%s"' % self.gds_format_boolean(self.btrfs_root_is_readonly_snapshot, input_name='btrfs_root_is_readonly_snapshot'))
|
|
if self.checkprebuilt is not None and 'checkprebuilt' not in already_processed:
|
|
already_processed.add('checkprebuilt')
|
|
outfile.write(' checkprebuilt="%s"' % self.gds_format_boolean(self.checkprebuilt, input_name='checkprebuilt'))
|
|
if self.compressed is not None and 'compressed' not in already_processed:
|
|
already_processed.add('compressed')
|
|
outfile.write(' compressed="%s"' % self.gds_format_boolean(self.compressed, input_name='compressed'))
|
|
if self.devicepersistency is not None and 'devicepersistency' not in already_processed:
|
|
already_processed.add('devicepersistency')
|
|
outfile.write(' devicepersistency=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.devicepersistency), input_name='devicepersistency')), ))
|
|
if self.editbootconfig is not None and 'editbootconfig' not in already_processed:
|
|
already_processed.add('editbootconfig')
|
|
outfile.write(' editbootconfig=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.editbootconfig), input_name='editbootconfig')), ))
|
|
if self.editbootinstall is not None and 'editbootinstall' not in already_processed:
|
|
already_processed.add('editbootinstall')
|
|
outfile.write(' editbootinstall=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.editbootinstall), input_name='editbootinstall')), ))
|
|
if self.filesystem is not None and 'filesystem' not in already_processed:
|
|
already_processed.add('filesystem')
|
|
outfile.write(' filesystem=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.filesystem), input_name='filesystem')), ))
|
|
if self.flags is not None and 'flags' not in already_processed:
|
|
already_processed.add('flags')
|
|
outfile.write(' flags=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.flags), input_name='flags')), ))
|
|
if self.format is not None and 'format' not in already_processed:
|
|
already_processed.add('format')
|
|
outfile.write(' format=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.format), input_name='format')), ))
|
|
if self.formatoptions is not None and 'formatoptions' not in already_processed:
|
|
already_processed.add('formatoptions')
|
|
outfile.write(' formatoptions=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.formatoptions), input_name='formatoptions')), ))
|
|
if self.fsnocheck is not None and 'fsnocheck' not in already_processed:
|
|
already_processed.add('fsnocheck')
|
|
outfile.write(' fsnocheck="%s"' % self.gds_format_boolean(self.fsnocheck, input_name='fsnocheck'))
|
|
if self.fsmountoptions is not None and 'fsmountoptions' not in already_processed:
|
|
already_processed.add('fsmountoptions')
|
|
outfile.write(' fsmountoptions=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.fsmountoptions), input_name='fsmountoptions')), ))
|
|
if self.gcelicense is not None and 'gcelicense' not in already_processed:
|
|
already_processed.add('gcelicense')
|
|
outfile.write(' gcelicense=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.gcelicense), input_name='gcelicense')), ))
|
|
if self.hybrid is not None and 'hybrid' not in already_processed:
|
|
already_processed.add('hybrid')
|
|
outfile.write(' hybrid="%s"' % self.gds_format_boolean(self.hybrid, input_name='hybrid'))
|
|
if self.hybridpersistent is not None and 'hybridpersistent' not in already_processed:
|
|
already_processed.add('hybridpersistent')
|
|
outfile.write(' hybridpersistent="%s"' % self.gds_format_boolean(self.hybridpersistent, input_name='hybridpersistent'))
|
|
if self.hybridpersistent_filesystem is not None and 'hybridpersistent_filesystem' not in already_processed:
|
|
already_processed.add('hybridpersistent_filesystem')
|
|
outfile.write(' hybridpersistent_filesystem=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.hybridpersistent_filesystem), input_name='hybridpersistent_filesystem')), ))
|
|
if self.gpt_hybrid_mbr is not None and 'gpt_hybrid_mbr' not in already_processed:
|
|
already_processed.add('gpt_hybrid_mbr')
|
|
outfile.write(' gpt_hybrid_mbr="%s"' % self.gds_format_boolean(self.gpt_hybrid_mbr, input_name='gpt_hybrid_mbr'))
|
|
if self.initrd_system is not None and 'initrd_system' not in already_processed:
|
|
already_processed.add('initrd_system')
|
|
outfile.write(' initrd_system=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.initrd_system), input_name='initrd_system')), ))
|
|
if self.image is not None and 'image' not in already_processed:
|
|
already_processed.add('image')
|
|
outfile.write(' image=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.image), input_name='image')), ))
|
|
if self.installboot is not None and 'installboot' not in already_processed:
|
|
already_processed.add('installboot')
|
|
outfile.write(' installboot=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.installboot), input_name='installboot')), ))
|
|
if self.installprovidefailsafe is not None and 'installprovidefailsafe' not in already_processed:
|
|
already_processed.add('installprovidefailsafe')
|
|
outfile.write(' installprovidefailsafe="%s"' % self.gds_format_boolean(self.installprovidefailsafe, input_name='installprovidefailsafe'))
|
|
if self.installiso is not None and 'installiso' not in already_processed:
|
|
already_processed.add('installiso')
|
|
outfile.write(' installiso="%s"' % self.gds_format_boolean(self.installiso, input_name='installiso'))
|
|
if self.installstick is not None and 'installstick' not in already_processed:
|
|
already_processed.add('installstick')
|
|
outfile.write(' installstick="%s"' % self.gds_format_boolean(self.installstick, input_name='installstick'))
|
|
if self.installpxe is not None and 'installpxe' not in already_processed:
|
|
already_processed.add('installpxe')
|
|
outfile.write(' installpxe="%s"' % self.gds_format_boolean(self.installpxe, input_name='installpxe'))
|
|
if self.kernelcmdline is not None and 'kernelcmdline' not in already_processed:
|
|
already_processed.add('kernelcmdline')
|
|
outfile.write(' kernelcmdline=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.kernelcmdline), input_name='kernelcmdline')), ))
|
|
if self.luks is not None and 'luks' not in already_processed:
|
|
already_processed.add('luks')
|
|
outfile.write(' luks=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.luks), input_name='luks')), ))
|
|
if self.luksOS is not None and 'luksOS' not in already_processed:
|
|
already_processed.add('luksOS')
|
|
outfile.write(' luksOS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.luksOS), input_name='luksOS')), ))
|
|
if self.mdraid is not None and 'mdraid' not in already_processed:
|
|
already_processed.add('mdraid')
|
|
outfile.write(' mdraid=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.mdraid), input_name='mdraid')), ))
|
|
if self.overlayroot is not None and 'overlayroot' not in already_processed:
|
|
already_processed.add('overlayroot')
|
|
outfile.write(' overlayroot="%s"' % self.gds_format_boolean(self.overlayroot, input_name='overlayroot'))
|
|
if self.primary is not None and 'primary' not in already_processed:
|
|
already_processed.add('primary')
|
|
outfile.write(' primary="%s"' % self.gds_format_boolean(self.primary, input_name='primary'))
|
|
if self.ramonly is not None and 'ramonly' not in already_processed:
|
|
already_processed.add('ramonly')
|
|
outfile.write(' ramonly="%s"' % self.gds_format_boolean(self.ramonly, input_name='ramonly'))
|
|
if self.rootfs_label is not None and 'rootfs_label' not in already_processed:
|
|
already_processed.add('rootfs_label')
|
|
outfile.write(' rootfs_label=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.rootfs_label), input_name='rootfs_label')), ))
|
|
if self.target_blocksize is not None and 'target_blocksize' not in already_processed:
|
|
already_processed.add('target_blocksize')
|
|
outfile.write(' target_blocksize="%s"' % self.gds_format_integer(self.target_blocksize, input_name='target_blocksize'))
|
|
if self.target_removable is not None and 'target_removable' not in already_processed:
|
|
already_processed.add('target_removable')
|
|
outfile.write(' target_removable="%s"' % self.gds_format_boolean(self.target_removable, input_name='target_removable'))
|
|
if self.vbootsize is not None and 'vbootsize' not in already_processed:
|
|
already_processed.add('vbootsize')
|
|
outfile.write(' vbootsize="%s"' % self.gds_format_integer(self.vbootsize, input_name='vbootsize'))
|
|
if self.vga is not None and 'vga' not in already_processed:
|
|
already_processed.add('vga')
|
|
outfile.write(' vga=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.vga), input_name='vga')), ))
|
|
if self.vhdfixedtag is not None and 'vhdfixedtag' not in already_processed:
|
|
already_processed.add('vhdfixedtag')
|
|
outfile.write(' vhdfixedtag=%s' % (quote_attrib(self.vhdfixedtag), ))
|
|
if self.volid is not None and 'volid' not in already_processed:
|
|
already_processed.add('volid')
|
|
outfile.write(' volid=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.volid), input_name='volid')), ))
|
|
if self.wwid_wait_timeout is not None and 'wwid_wait_timeout' not in already_processed:
|
|
already_processed.add('wwid_wait_timeout')
|
|
outfile.write(' wwid_wait_timeout="%s"' % self.gds_format_integer(self.wwid_wait_timeout, input_name='wwid_wait_timeout'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='type', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for containerconfig_ in self.containerconfig:
|
|
containerconfig_.export(outfile, level, namespace_, name_='containerconfig', pretty_print=pretty_print)
|
|
for machine_ in self.machine:
|
|
machine_.export(outfile, level, namespace_, name_='machine', pretty_print=pretty_print)
|
|
for oemconfig_ in self.oemconfig:
|
|
oemconfig_.export(outfile, level, namespace_, name_='oemconfig', pretty_print=pretty_print)
|
|
for pxedeploy_ in self.pxedeploy:
|
|
pxedeploy_.export(outfile, level, namespace_, name_='pxedeploy', pretty_print=pretty_print)
|
|
for size_ in self.size:
|
|
size_.export(outfile, level, namespace_, name_='size', pretty_print=pretty_print)
|
|
for systemdisk_ in self.systemdisk:
|
|
systemdisk_.export(outfile, level, namespace_, name_='systemdisk', pretty_print=pretty_print)
|
|
for vagrantconfig_ in self.vagrantconfig:
|
|
vagrantconfig_.export(outfile, level, namespace_, name_='vagrantconfig', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('boot', node)
|
|
if value is not None and 'boot' not in already_processed:
|
|
already_processed.add('boot')
|
|
self.boot = value
|
|
value = find_attr_value_('bootfilesystem', node)
|
|
if value is not None and 'bootfilesystem' not in already_processed:
|
|
already_processed.add('bootfilesystem')
|
|
self.bootfilesystem = value
|
|
self.bootfilesystem = ' '.join(self.bootfilesystem.split())
|
|
value = find_attr_value_('firmware', node)
|
|
if value is not None and 'firmware' not in already_processed:
|
|
already_processed.add('firmware')
|
|
self.firmware = value
|
|
self.firmware = ' '.join(self.firmware.split())
|
|
value = find_attr_value_('bootkernel', node)
|
|
if value is not None and 'bootkernel' not in already_processed:
|
|
already_processed.add('bootkernel')
|
|
self.bootkernel = value
|
|
value = find_attr_value_('bootloader', node)
|
|
if value is not None and 'bootloader' not in already_processed:
|
|
already_processed.add('bootloader')
|
|
self.bootloader = value
|
|
self.bootloader = ' '.join(self.bootloader.split())
|
|
value = find_attr_value_('bootloader_console', node)
|
|
if value is not None and 'bootloader_console' not in already_processed:
|
|
already_processed.add('bootloader_console')
|
|
self.bootloader_console = value
|
|
self.bootloader_console = ' '.join(self.bootloader_console.split())
|
|
value = find_attr_value_('zipl_targettype', node)
|
|
if value is not None and 'zipl_targettype' not in already_processed:
|
|
already_processed.add('zipl_targettype')
|
|
self.zipl_targettype = value
|
|
self.zipl_targettype = ' '.join(self.zipl_targettype.split())
|
|
value = find_attr_value_('bootpartition', node)
|
|
if value is not None and 'bootpartition' not in already_processed:
|
|
already_processed.add('bootpartition')
|
|
if value in ('true', '1'):
|
|
self.bootpartition = True
|
|
elif value in ('false', '0'):
|
|
self.bootpartition = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('bootpartsize', node)
|
|
if value is not None and 'bootpartsize' not in already_processed:
|
|
already_processed.add('bootpartsize')
|
|
try:
|
|
self.bootpartsize = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.bootpartsize < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('bootprofile', node)
|
|
if value is not None and 'bootprofile' not in already_processed:
|
|
already_processed.add('bootprofile')
|
|
self.bootprofile = value
|
|
value = find_attr_value_('boottimeout', node)
|
|
if value is not None and 'boottimeout' not in already_processed:
|
|
already_processed.add('boottimeout')
|
|
try:
|
|
self.boottimeout = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.boottimeout < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('btrfs_root_is_snapshot', node)
|
|
if value is not None and 'btrfs_root_is_snapshot' not in already_processed:
|
|
already_processed.add('btrfs_root_is_snapshot')
|
|
if value in ('true', '1'):
|
|
self.btrfs_root_is_snapshot = True
|
|
elif value in ('false', '0'):
|
|
self.btrfs_root_is_snapshot = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('btrfs_root_is_readonly_snapshot', node)
|
|
if value is not None and 'btrfs_root_is_readonly_snapshot' not in already_processed:
|
|
already_processed.add('btrfs_root_is_readonly_snapshot')
|
|
if value in ('true', '1'):
|
|
self.btrfs_root_is_readonly_snapshot = True
|
|
elif value in ('false', '0'):
|
|
self.btrfs_root_is_readonly_snapshot = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('checkprebuilt', node)
|
|
if value is not None and 'checkprebuilt' not in already_processed:
|
|
already_processed.add('checkprebuilt')
|
|
if value in ('true', '1'):
|
|
self.checkprebuilt = True
|
|
elif value in ('false', '0'):
|
|
self.checkprebuilt = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('compressed', node)
|
|
if value is not None and 'compressed' not in already_processed:
|
|
already_processed.add('compressed')
|
|
if value in ('true', '1'):
|
|
self.compressed = True
|
|
elif value in ('false', '0'):
|
|
self.compressed = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('devicepersistency', node)
|
|
if value is not None and 'devicepersistency' not in already_processed:
|
|
already_processed.add('devicepersistency')
|
|
self.devicepersistency = value
|
|
self.devicepersistency = ' '.join(self.devicepersistency.split())
|
|
value = find_attr_value_('editbootconfig', node)
|
|
if value is not None and 'editbootconfig' not in already_processed:
|
|
already_processed.add('editbootconfig')
|
|
self.editbootconfig = value
|
|
value = find_attr_value_('editbootinstall', node)
|
|
if value is not None and 'editbootinstall' not in already_processed:
|
|
already_processed.add('editbootinstall')
|
|
self.editbootinstall = value
|
|
value = find_attr_value_('filesystem', node)
|
|
if value is not None and 'filesystem' not in already_processed:
|
|
already_processed.add('filesystem')
|
|
self.filesystem = value
|
|
self.filesystem = ' '.join(self.filesystem.split())
|
|
value = find_attr_value_('flags', node)
|
|
if value is not None and 'flags' not in already_processed:
|
|
already_processed.add('flags')
|
|
self.flags = value
|
|
self.flags = ' '.join(self.flags.split())
|
|
value = find_attr_value_('format', node)
|
|
if value is not None and 'format' not in already_processed:
|
|
already_processed.add('format')
|
|
self.format = value
|
|
self.format = ' '.join(self.format.split())
|
|
value = find_attr_value_('formatoptions', node)
|
|
if value is not None and 'formatoptions' not in already_processed:
|
|
already_processed.add('formatoptions')
|
|
self.formatoptions = value
|
|
value = find_attr_value_('fsnocheck', node)
|
|
if value is not None and 'fsnocheck' not in already_processed:
|
|
already_processed.add('fsnocheck')
|
|
if value in ('true', '1'):
|
|
self.fsnocheck = True
|
|
elif value in ('false', '0'):
|
|
self.fsnocheck = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('fsmountoptions', node)
|
|
if value is not None and 'fsmountoptions' not in already_processed:
|
|
already_processed.add('fsmountoptions')
|
|
self.fsmountoptions = value
|
|
value = find_attr_value_('gcelicense', node)
|
|
if value is not None and 'gcelicense' not in already_processed:
|
|
already_processed.add('gcelicense')
|
|
self.gcelicense = value
|
|
value = find_attr_value_('hybrid', node)
|
|
if value is not None and 'hybrid' not in already_processed:
|
|
already_processed.add('hybrid')
|
|
if value in ('true', '1'):
|
|
self.hybrid = True
|
|
elif value in ('false', '0'):
|
|
self.hybrid = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('hybridpersistent', node)
|
|
if value is not None and 'hybridpersistent' not in already_processed:
|
|
already_processed.add('hybridpersistent')
|
|
if value in ('true', '1'):
|
|
self.hybridpersistent = True
|
|
elif value in ('false', '0'):
|
|
self.hybridpersistent = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('hybridpersistent_filesystem', node)
|
|
if value is not None and 'hybridpersistent_filesystem' not in already_processed:
|
|
already_processed.add('hybridpersistent_filesystem')
|
|
self.hybridpersistent_filesystem = value
|
|
self.hybridpersistent_filesystem = ' '.join(self.hybridpersistent_filesystem.split())
|
|
value = find_attr_value_('gpt_hybrid_mbr', node)
|
|
if value is not None and 'gpt_hybrid_mbr' not in already_processed:
|
|
already_processed.add('gpt_hybrid_mbr')
|
|
if value in ('true', '1'):
|
|
self.gpt_hybrid_mbr = True
|
|
elif value in ('false', '0'):
|
|
self.gpt_hybrid_mbr = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('initrd_system', node)
|
|
if value is not None and 'initrd_system' not in already_processed:
|
|
already_processed.add('initrd_system')
|
|
self.initrd_system = value
|
|
self.initrd_system = ' '.join(self.initrd_system.split())
|
|
value = find_attr_value_('image', node)
|
|
if value is not None and 'image' not in already_processed:
|
|
already_processed.add('image')
|
|
self.image = value
|
|
self.image = ' '.join(self.image.split())
|
|
value = find_attr_value_('installboot', node)
|
|
if value is not None and 'installboot' not in already_processed:
|
|
already_processed.add('installboot')
|
|
self.installboot = value
|
|
self.installboot = ' '.join(self.installboot.split())
|
|
value = find_attr_value_('installprovidefailsafe', node)
|
|
if value is not None and 'installprovidefailsafe' not in already_processed:
|
|
already_processed.add('installprovidefailsafe')
|
|
if value in ('true', '1'):
|
|
self.installprovidefailsafe = True
|
|
elif value in ('false', '0'):
|
|
self.installprovidefailsafe = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('installiso', node)
|
|
if value is not None and 'installiso' not in already_processed:
|
|
already_processed.add('installiso')
|
|
if value in ('true', '1'):
|
|
self.installiso = True
|
|
elif value in ('false', '0'):
|
|
self.installiso = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('installstick', node)
|
|
if value is not None and 'installstick' not in already_processed:
|
|
already_processed.add('installstick')
|
|
if value in ('true', '1'):
|
|
self.installstick = True
|
|
elif value in ('false', '0'):
|
|
self.installstick = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('installpxe', node)
|
|
if value is not None and 'installpxe' not in already_processed:
|
|
already_processed.add('installpxe')
|
|
if value in ('true', '1'):
|
|
self.installpxe = True
|
|
elif value in ('false', '0'):
|
|
self.installpxe = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('kernelcmdline', node)
|
|
if value is not None and 'kernelcmdline' not in already_processed:
|
|
already_processed.add('kernelcmdline')
|
|
self.kernelcmdline = value
|
|
value = find_attr_value_('luks', node)
|
|
if value is not None and 'luks' not in already_processed:
|
|
already_processed.add('luks')
|
|
self.luks = value
|
|
value = find_attr_value_('luksOS', node)
|
|
if value is not None and 'luksOS' not in already_processed:
|
|
already_processed.add('luksOS')
|
|
self.luksOS = value
|
|
self.luksOS = ' '.join(self.luksOS.split())
|
|
value = find_attr_value_('mdraid', node)
|
|
if value is not None and 'mdraid' not in already_processed:
|
|
already_processed.add('mdraid')
|
|
self.mdraid = value
|
|
self.mdraid = ' '.join(self.mdraid.split())
|
|
value = find_attr_value_('overlayroot', node)
|
|
if value is not None and 'overlayroot' not in already_processed:
|
|
already_processed.add('overlayroot')
|
|
if value in ('true', '1'):
|
|
self.overlayroot = True
|
|
elif value in ('false', '0'):
|
|
self.overlayroot = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('primary', node)
|
|
if value is not None and 'primary' not in already_processed:
|
|
already_processed.add('primary')
|
|
if value in ('true', '1'):
|
|
self.primary = True
|
|
elif value in ('false', '0'):
|
|
self.primary = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('ramonly', node)
|
|
if value is not None and 'ramonly' not in already_processed:
|
|
already_processed.add('ramonly')
|
|
if value in ('true', '1'):
|
|
self.ramonly = True
|
|
elif value in ('false', '0'):
|
|
self.ramonly = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('rootfs_label', node)
|
|
if value is not None and 'rootfs_label' not in already_processed:
|
|
already_processed.add('rootfs_label')
|
|
self.rootfs_label = value
|
|
value = find_attr_value_('target_blocksize', node)
|
|
if value is not None and 'target_blocksize' not in already_processed:
|
|
already_processed.add('target_blocksize')
|
|
try:
|
|
self.target_blocksize = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.target_blocksize < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('target_removable', node)
|
|
if value is not None and 'target_removable' not in already_processed:
|
|
already_processed.add('target_removable')
|
|
if value in ('true', '1'):
|
|
self.target_removable = True
|
|
elif value in ('false', '0'):
|
|
self.target_removable = False
|
|
else:
|
|
raise_parse_error(node, 'Bad boolean attribute')
|
|
value = find_attr_value_('vbootsize', node)
|
|
if value is not None and 'vbootsize' not in already_processed:
|
|
already_processed.add('vbootsize')
|
|
try:
|
|
self.vbootsize = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.vbootsize < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('vga', node)
|
|
if value is not None and 'vga' not in already_processed:
|
|
already_processed.add('vga')
|
|
self.vga = value
|
|
value = find_attr_value_('vhdfixedtag', node)
|
|
if value is not None and 'vhdfixedtag' not in already_processed:
|
|
already_processed.add('vhdfixedtag')
|
|
self.vhdfixedtag = value
|
|
self.vhdfixedtag = ' '.join(self.vhdfixedtag.split())
|
|
self.validate_vhd_tag_type(self.vhdfixedtag) # validate type vhd-tag-type
|
|
value = find_attr_value_('volid', node)
|
|
if value is not None and 'volid' not in already_processed:
|
|
already_processed.add('volid')
|
|
self.volid = value
|
|
value = find_attr_value_('wwid_wait_timeout', node)
|
|
if value is not None and 'wwid_wait_timeout' not in already_processed:
|
|
already_processed.add('wwid_wait_timeout')
|
|
try:
|
|
self.wwid_wait_timeout = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.wwid_wait_timeout < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'containerconfig':
|
|
obj_ = containerconfig.factory()
|
|
obj_.build(child_)
|
|
self.containerconfig.append(obj_)
|
|
obj_.original_tagname_ = 'containerconfig'
|
|
elif nodeName_ == 'machine':
|
|
obj_ = machine.factory()
|
|
obj_.build(child_)
|
|
self.machine.append(obj_)
|
|
obj_.original_tagname_ = 'machine'
|
|
elif nodeName_ == 'oemconfig':
|
|
obj_ = oemconfig.factory()
|
|
obj_.build(child_)
|
|
self.oemconfig.append(obj_)
|
|
obj_.original_tagname_ = 'oemconfig'
|
|
elif nodeName_ == 'pxedeploy':
|
|
obj_ = pxedeploy.factory()
|
|
obj_.build(child_)
|
|
self.pxedeploy.append(obj_)
|
|
obj_.original_tagname_ = 'pxedeploy'
|
|
elif nodeName_ == 'size':
|
|
obj_ = size.factory()
|
|
obj_.build(child_)
|
|
self.size.append(obj_)
|
|
obj_.original_tagname_ = 'size'
|
|
elif nodeName_ == 'systemdisk':
|
|
obj_ = systemdisk.factory()
|
|
obj_.build(child_)
|
|
self.systemdisk.append(obj_)
|
|
obj_.original_tagname_ = 'systemdisk'
|
|
elif nodeName_ == 'vagrantconfig':
|
|
obj_ = vagrantconfig.factory()
|
|
obj_.build(child_)
|
|
self.vagrantconfig.append(obj_)
|
|
obj_.original_tagname_ = 'vagrantconfig'
|
|
# end class type_
|
|
|
|
|
|
class union(GeneratedsSuper):
|
|
"""Specifies the Overlay Filesystem"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, ro=None, rw=None, type_=None):
|
|
self.original_tagname_ = None
|
|
self.ro = _cast(None, ro)
|
|
self.rw = _cast(None, rw)
|
|
self.type_ = _cast(None, type_)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, union)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if union.subclass:
|
|
return union.subclass(*args_, **kwargs_)
|
|
else:
|
|
return union(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_ro(self): return self.ro
|
|
def set_ro(self, ro): self.ro = ro
|
|
def get_rw(self): return self.rw
|
|
def set_rw(self, rw): self.rw = rw
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='union', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='union')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='union', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='union'):
|
|
if self.ro is not None and 'ro' not in already_processed:
|
|
already_processed.add('ro')
|
|
outfile.write(' ro=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ro), input_name='ro')), ))
|
|
if self.rw is not None and 'rw' not in already_processed:
|
|
already_processed.add('rw')
|
|
outfile.write(' rw=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.rw), input_name='rw')), ))
|
|
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, namespace_='', name_='union', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('ro', node)
|
|
if value is not None and 'ro' not in already_processed:
|
|
already_processed.add('ro')
|
|
self.ro = value
|
|
value = find_attr_value_('rw', node)
|
|
if value is not None and 'rw' not in already_processed:
|
|
already_processed.add('rw')
|
|
self.rw = value
|
|
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.type_ = ' '.join(self.type_.split())
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class union
|
|
|
|
|
|
class user(GeneratedsSuper):
|
|
"""A User with Name, Password, Path to Its Home And Shell"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, groups=None, home=None, id=None, name=None, password=None, pwdformat=None, realname=None, shell=None):
|
|
self.original_tagname_ = None
|
|
self.groups = _cast(None, groups)
|
|
self.home = _cast(None, home)
|
|
self.id = _cast(int, id)
|
|
self.name = _cast(None, name)
|
|
self.password = _cast(None, password)
|
|
self.pwdformat = _cast(None, pwdformat)
|
|
self.realname = _cast(None, realname)
|
|
self.shell = _cast(None, shell)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, user)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if user.subclass:
|
|
return user.subclass(*args_, **kwargs_)
|
|
else:
|
|
return user(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_groups(self): return self.groups
|
|
def set_groups(self, groups): self.groups = groups
|
|
def get_home(self): return self.home
|
|
def set_home(self, home): self.home = home
|
|
def get_id(self): return self.id
|
|
def set_id(self, id): self.id = id
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_password(self): return self.password
|
|
def set_password(self, password): self.password = password
|
|
def get_pwdformat(self): return self.pwdformat
|
|
def set_pwdformat(self, pwdformat): self.pwdformat = pwdformat
|
|
def get_realname(self): return self.realname
|
|
def set_realname(self, realname): self.realname = realname
|
|
def get_shell(self): return self.shell
|
|
def set_shell(self, shell): self.shell = shell
|
|
def validate_groups_list(self, value):
|
|
# Validate type groups-list, a restriction on xs:token.
|
|
if value is not None and Validate_simpletypes_:
|
|
if not self.gds_validate_simple_patterns(
|
|
self.validate_groups_list_patterns_, value):
|
|
warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_groups_list_patterns_, ))
|
|
validate_groups_list_patterns_ = [['^[a-zA-Z0-9_\\-\\.]+(,[a-zA-Z0-9_\\-\\.]+)*$']]
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='user', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='user')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='user', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='user'):
|
|
if self.groups is not None and 'groups' not in already_processed:
|
|
already_processed.add('groups')
|
|
outfile.write(' groups=%s' % (quote_attrib(self.groups), ))
|
|
if self.home is not None and 'home' not in already_processed:
|
|
already_processed.add('home')
|
|
outfile.write(' home=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.home), input_name='home')), ))
|
|
if self.id is not None and 'id' not in already_processed:
|
|
already_processed.add('id')
|
|
outfile.write(' id="%s"' % self.gds_format_integer(self.id, input_name='id'))
|
|
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')), ))
|
|
if self.password is not None and 'password' not in already_processed:
|
|
already_processed.add('password')
|
|
outfile.write(' password=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.password), input_name='password')), ))
|
|
if self.pwdformat is not None and 'pwdformat' not in already_processed:
|
|
already_processed.add('pwdformat')
|
|
outfile.write(' pwdformat=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.pwdformat), input_name='pwdformat')), ))
|
|
if self.realname is not None and 'realname' not in already_processed:
|
|
already_processed.add('realname')
|
|
outfile.write(' realname=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.realname), input_name='realname')), ))
|
|
if self.shell is not None and 'shell' not in already_processed:
|
|
already_processed.add('shell')
|
|
outfile.write(' shell=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.shell), input_name='shell')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='user', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('groups', node)
|
|
if value is not None and 'groups' not in already_processed:
|
|
already_processed.add('groups')
|
|
self.groups = value
|
|
self.groups = ' '.join(self.groups.split())
|
|
self.validate_groups_list(self.groups) # validate type groups-list
|
|
value = find_attr_value_('home', node)
|
|
if value is not None and 'home' not in already_processed:
|
|
already_processed.add('home')
|
|
self.home = value
|
|
value = find_attr_value_('id', node)
|
|
if value is not None and 'id' not in already_processed:
|
|
already_processed.add('id')
|
|
try:
|
|
self.id = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.id < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('name', node)
|
|
if value is not None and 'name' not in already_processed:
|
|
already_processed.add('name')
|
|
self.name = value
|
|
value = find_attr_value_('password', node)
|
|
if value is not None and 'password' not in already_processed:
|
|
already_processed.add('password')
|
|
self.password = value
|
|
value = find_attr_value_('pwdformat', node)
|
|
if value is not None and 'pwdformat' not in already_processed:
|
|
already_processed.add('pwdformat')
|
|
self.pwdformat = value
|
|
self.pwdformat = ' '.join(self.pwdformat.split())
|
|
value = find_attr_value_('realname', node)
|
|
if value is not None and 'realname' not in already_processed:
|
|
already_processed.add('realname')
|
|
self.realname = value
|
|
value = find_attr_value_('shell', node)
|
|
if value is not None and 'shell' not in already_processed:
|
|
already_processed.add('shell')
|
|
self.shell = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class user
|
|
|
|
|
|
class vmdisk(GeneratedsSuper):
|
|
"""The VM disk definition."""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, disktype=None, controller=None, id=None, device=None, diskmode=None):
|
|
self.original_tagname_ = None
|
|
self.disktype = _cast(None, disktype)
|
|
self.controller = _cast(None, controller)
|
|
self.id = _cast(int, id)
|
|
self.device = _cast(None, device)
|
|
self.diskmode = _cast(None, diskmode)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, vmdisk)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if vmdisk.subclass:
|
|
return vmdisk.subclass(*args_, **kwargs_)
|
|
else:
|
|
return vmdisk(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_disktype(self): return self.disktype
|
|
def set_disktype(self, disktype): self.disktype = disktype
|
|
def get_controller(self): return self.controller
|
|
def set_controller(self, controller): self.controller = controller
|
|
def get_id(self): return self.id
|
|
def set_id(self, id): self.id = id
|
|
def get_device(self): return self.device
|
|
def set_device(self, device): self.device = device
|
|
def get_diskmode(self): return self.diskmode
|
|
def set_diskmode(self, diskmode): self.diskmode = diskmode
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='vmdisk', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='vmdisk')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='vmdisk', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='vmdisk'):
|
|
if self.disktype is not None and 'disktype' not in already_processed:
|
|
already_processed.add('disktype')
|
|
outfile.write(' disktype=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.disktype), input_name='disktype')), ))
|
|
if self.controller is not None and 'controller' not in already_processed:
|
|
already_processed.add('controller')
|
|
outfile.write(' controller=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.controller), input_name='controller')), ))
|
|
if self.id is not None and 'id' not in already_processed:
|
|
already_processed.add('id')
|
|
outfile.write(' id="%s"' % self.gds_format_integer(self.id, input_name='id'))
|
|
if self.device is not None and 'device' not in already_processed:
|
|
already_processed.add('device')
|
|
outfile.write(' device=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.device), input_name='device')), ))
|
|
if self.diskmode is not None and 'diskmode' not in already_processed:
|
|
already_processed.add('diskmode')
|
|
outfile.write(' diskmode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.diskmode), input_name='diskmode')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='vmdisk', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('disktype', node)
|
|
if value is not None and 'disktype' not in already_processed:
|
|
already_processed.add('disktype')
|
|
self.disktype = value
|
|
value = find_attr_value_('controller', node)
|
|
if value is not None and 'controller' not in already_processed:
|
|
already_processed.add('controller')
|
|
self.controller = value
|
|
self.controller = ' '.join(self.controller.split())
|
|
value = find_attr_value_('id', node)
|
|
if value is not None and 'id' not in already_processed:
|
|
already_processed.add('id')
|
|
try:
|
|
self.id = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.id < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('device', node)
|
|
if value is not None and 'device' not in already_processed:
|
|
already_processed.add('device')
|
|
self.device = value
|
|
value = find_attr_value_('diskmode', node)
|
|
if value is not None and 'diskmode' not in already_processed:
|
|
already_processed.add('diskmode')
|
|
self.diskmode = value
|
|
self.diskmode = ' '.join(self.diskmode.split())
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class vmdisk
|
|
|
|
|
|
class vmdvd(GeneratedsSuper):
|
|
"""The VM CD/DVD drive definition. You can setup either a scsi CD or an
|
|
ide CD drive"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, controller=None, id=None):
|
|
self.original_tagname_ = None
|
|
self.controller = _cast(None, controller)
|
|
self.id = _cast(int, id)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, vmdvd)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if vmdvd.subclass:
|
|
return vmdvd.subclass(*args_, **kwargs_)
|
|
else:
|
|
return vmdvd(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_controller(self): return self.controller
|
|
def set_controller(self, controller): self.controller = controller
|
|
def get_id(self): return self.id
|
|
def set_id(self, id): self.id = id
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='vmdvd', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='vmdvd')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='vmdvd', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='vmdvd'):
|
|
if self.controller is not None and 'controller' not in already_processed:
|
|
already_processed.add('controller')
|
|
outfile.write(' controller=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.controller), input_name='controller')), ))
|
|
if self.id is not None and 'id' not in already_processed:
|
|
already_processed.add('id')
|
|
outfile.write(' id="%s"' % self.gds_format_integer(self.id, input_name='id'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='vmdvd', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('controller', node)
|
|
if value is not None and 'controller' not in already_processed:
|
|
already_processed.add('controller')
|
|
self.controller = value
|
|
self.controller = ' '.join(self.controller.split())
|
|
value = find_attr_value_('id', node)
|
|
if value is not None and 'id' not in already_processed:
|
|
already_processed.add('id')
|
|
try:
|
|
self.id = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.id < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class vmdvd
|
|
|
|
|
|
class vmnic(GeneratedsSuper):
|
|
"""The VM network interface definition"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, driver=None, interface=None, mode=None, mac=None):
|
|
self.original_tagname_ = None
|
|
self.driver = _cast(None, driver)
|
|
self.interface = _cast(None, interface)
|
|
self.mode = _cast(None, mode)
|
|
self.mac = _cast(None, mac)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, vmnic)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if vmnic.subclass:
|
|
return vmnic.subclass(*args_, **kwargs_)
|
|
else:
|
|
return vmnic(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_driver(self): return self.driver
|
|
def set_driver(self, driver): self.driver = driver
|
|
def get_interface(self): return self.interface
|
|
def set_interface(self, interface): self.interface = interface
|
|
def get_mode(self): return self.mode
|
|
def set_mode(self, mode): self.mode = mode
|
|
def get_mac(self): return self.mac
|
|
def set_mac(self, mac): self.mac = mac
|
|
def validate_mac_address_type(self, value):
|
|
# Validate type mac-address-type, a restriction on xs:token.
|
|
if value is not None and Validate_simpletypes_:
|
|
if not self.gds_validate_simple_patterns(
|
|
self.validate_mac_address_type_patterns_, value):
|
|
warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_mac_address_type_patterns_, ))
|
|
validate_mac_address_type_patterns_ = [['^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$']]
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='vmnic', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='vmnic')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='vmnic', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='vmnic'):
|
|
if self.driver is not None and 'driver' not in already_processed:
|
|
already_processed.add('driver')
|
|
outfile.write(' driver=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.driver), input_name='driver')), ))
|
|
if self.interface is not None and 'interface' not in already_processed:
|
|
already_processed.add('interface')
|
|
outfile.write(' interface=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.interface), input_name='interface')), ))
|
|
if self.mode is not None and 'mode' not in already_processed:
|
|
already_processed.add('mode')
|
|
outfile.write(' mode=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.mode), input_name='mode')), ))
|
|
if self.mac is not None and 'mac' not in already_processed:
|
|
already_processed.add('mac')
|
|
outfile.write(' mac=%s' % (quote_attrib(self.mac), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='vmnic', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('driver', node)
|
|
if value is not None and 'driver' not in already_processed:
|
|
already_processed.add('driver')
|
|
self.driver = value
|
|
value = find_attr_value_('interface', node)
|
|
if value is not None and 'interface' not in already_processed:
|
|
already_processed.add('interface')
|
|
self.interface = value
|
|
value = find_attr_value_('mode', node)
|
|
if value is not None and 'mode' not in already_processed:
|
|
already_processed.add('mode')
|
|
self.mode = value
|
|
value = find_attr_value_('mac', node)
|
|
if value is not None and 'mac' not in already_processed:
|
|
already_processed.add('mac')
|
|
self.mac = value
|
|
self.mac = ' '.join(self.mac.split())
|
|
self.validate_mac_address_type(self.mac) # validate type mac-address-type
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class vmnic
|
|
|
|
|
|
class volume(GeneratedsSuper):
|
|
"""Specify which parts of the filesystem should be on an extra volume."""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, freespace=None, mountpoint=None, name=None, size=None):
|
|
self.original_tagname_ = None
|
|
self.freespace = _cast(None, freespace)
|
|
self.mountpoint = _cast(None, mountpoint)
|
|
self.name = _cast(None, name)
|
|
self.size = _cast(None, size)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, volume)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if volume.subclass:
|
|
return volume.subclass(*args_, **kwargs_)
|
|
else:
|
|
return volume(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_freespace(self): return self.freespace
|
|
def set_freespace(self, freespace): self.freespace = freespace
|
|
def get_mountpoint(self): return self.mountpoint
|
|
def set_mountpoint(self, mountpoint): self.mountpoint = mountpoint
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_size(self): return self.size
|
|
def set_size(self, size): self.size = size
|
|
def validate_volume_size_type(self, value):
|
|
# Validate type volume-size-type, a restriction on xs:token.
|
|
if value is not None and Validate_simpletypes_:
|
|
if not self.gds_validate_simple_patterns(
|
|
self.validate_volume_size_type_patterns_, value):
|
|
warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_volume_size_type_patterns_, ))
|
|
validate_volume_size_type_patterns_ = [['^\\d+|\\d+M|\\d+G|all$']]
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='volume', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='volume')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='volume', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='volume'):
|
|
if self.freespace is not None and 'freespace' not in already_processed:
|
|
already_processed.add('freespace')
|
|
outfile.write(' freespace=%s' % (quote_attrib(self.freespace), ))
|
|
if self.mountpoint is not None and 'mountpoint' not in already_processed:
|
|
already_processed.add('mountpoint')
|
|
outfile.write(' mountpoint=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.mountpoint), input_name='mountpoint')), ))
|
|
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')), ))
|
|
if self.size is not None and 'size' not in already_processed:
|
|
already_processed.add('size')
|
|
outfile.write(' size=%s' % (quote_attrib(self.size), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='volume', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('freespace', node)
|
|
if value is not None and 'freespace' not in already_processed:
|
|
already_processed.add('freespace')
|
|
self.freespace = value
|
|
self.freespace = ' '.join(self.freespace.split())
|
|
self.validate_volume_size_type(self.freespace) # validate type volume-size-type
|
|
value = find_attr_value_('mountpoint', node)
|
|
if value is not None and 'mountpoint' not in already_processed:
|
|
already_processed.add('mountpoint')
|
|
self.mountpoint = value
|
|
value = find_attr_value_('name', node)
|
|
if value is not None and 'name' not in already_processed:
|
|
already_processed.add('name')
|
|
self.name = value
|
|
value = find_attr_value_('size', node)
|
|
if value is not None and 'size' not in already_processed:
|
|
already_processed.add('size')
|
|
self.size = value
|
|
self.size = ' '.join(self.size.split())
|
|
self.validate_volume_size_type(self.size) # validate type volume-size-type
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class volume
|
|
|
|
|
|
class pxedeploy(GeneratedsSuper):
|
|
"""Controls the Image Deploy Process"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, server=None, blocksize=None, timeout=None, kernel=None, initrd=None, partitions=None, union=None, configuration=None):
|
|
self.original_tagname_ = None
|
|
self.server = _cast(None, server)
|
|
self.blocksize = _cast(int, blocksize)
|
|
if timeout is None:
|
|
self.timeout = []
|
|
else:
|
|
self.timeout = timeout
|
|
if kernel is None:
|
|
self.kernel = []
|
|
else:
|
|
self.kernel = kernel
|
|
if initrd is None:
|
|
self.initrd = []
|
|
else:
|
|
self.initrd = initrd
|
|
if partitions is None:
|
|
self.partitions = []
|
|
else:
|
|
self.partitions = partitions
|
|
if union is None:
|
|
self.union = []
|
|
else:
|
|
self.union = union
|
|
if configuration is None:
|
|
self.configuration = []
|
|
else:
|
|
self.configuration = configuration
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, pxedeploy)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if pxedeploy.subclass:
|
|
return pxedeploy.subclass(*args_, **kwargs_)
|
|
else:
|
|
return pxedeploy(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_timeout(self): return self.timeout
|
|
def set_timeout(self, timeout): self.timeout = timeout
|
|
def add_timeout(self, value): self.timeout.append(value)
|
|
def insert_timeout_at(self, index, value): self.timeout.insert(index, value)
|
|
def replace_timeout_at(self, index, value): self.timeout[index] = value
|
|
def get_kernel(self): return self.kernel
|
|
def set_kernel(self, kernel): self.kernel = kernel
|
|
def add_kernel(self, value): self.kernel.append(value)
|
|
def insert_kernel_at(self, index, value): self.kernel.insert(index, value)
|
|
def replace_kernel_at(self, index, value): self.kernel[index] = value
|
|
def get_initrd(self): return self.initrd
|
|
def set_initrd(self, initrd): self.initrd = initrd
|
|
def add_initrd(self, value): self.initrd.append(value)
|
|
def insert_initrd_at(self, index, value): self.initrd.insert(index, value)
|
|
def replace_initrd_at(self, index, value): self.initrd[index] = value
|
|
def get_partitions(self): return self.partitions
|
|
def set_partitions(self, partitions): self.partitions = partitions
|
|
def add_partitions(self, value): self.partitions.append(value)
|
|
def insert_partitions_at(self, index, value): self.partitions.insert(index, value)
|
|
def replace_partitions_at(self, index, value): self.partitions[index] = value
|
|
def get_union(self): return self.union
|
|
def set_union(self, union): self.union = union
|
|
def add_union(self, value): self.union.append(value)
|
|
def insert_union_at(self, index, value): self.union.insert(index, value)
|
|
def replace_union_at(self, index, value): self.union[index] = value
|
|
def get_configuration(self): return self.configuration
|
|
def set_configuration(self, configuration): self.configuration = configuration
|
|
def add_configuration(self, value): self.configuration.append(value)
|
|
def insert_configuration_at(self, index, value): self.configuration.insert(index, value)
|
|
def replace_configuration_at(self, index, value): self.configuration[index] = value
|
|
def get_server(self): return self.server
|
|
def set_server(self, server): self.server = server
|
|
def get_blocksize(self): return self.blocksize
|
|
def set_blocksize(self, blocksize): self.blocksize = blocksize
|
|
def hasContent_(self):
|
|
if (
|
|
self.timeout or
|
|
self.kernel or
|
|
self.initrd or
|
|
self.partitions or
|
|
self.union or
|
|
self.configuration
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='pxedeploy', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='pxedeploy')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='pxedeploy', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='pxedeploy'):
|
|
if self.server is not None and 'server' not in already_processed:
|
|
already_processed.add('server')
|
|
outfile.write(' server=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.server), input_name='server')), ))
|
|
if self.blocksize is not None and 'blocksize' not in already_processed:
|
|
already_processed.add('blocksize')
|
|
outfile.write(' blocksize="%s"' % self.gds_format_integer(self.blocksize, input_name='blocksize'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='pxedeploy', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for timeout_ in self.timeout:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%stimeout>%s</%stimeout>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(timeout_), input_name='timeout')), namespace_, eol_))
|
|
for kernel_ in self.kernel:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%skernel>%s</%skernel>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(kernel_), input_name='kernel')), namespace_, eol_))
|
|
for initrd_ in self.initrd:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sinitrd>%s</%sinitrd>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(initrd_), input_name='initrd')), namespace_, eol_))
|
|
for partitions_ in self.partitions:
|
|
partitions_.export(outfile, level, namespace_, name_='partitions', pretty_print=pretty_print)
|
|
for union_ in self.union:
|
|
union_.export(outfile, level, namespace_, name_='union', pretty_print=pretty_print)
|
|
for configuration_ in self.configuration:
|
|
configuration_.export(outfile, level, namespace_, name_='configuration', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('server', node)
|
|
if value is not None and 'server' not in already_processed:
|
|
already_processed.add('server')
|
|
self.server = value
|
|
value = find_attr_value_('blocksize', node)
|
|
if value is not None and 'blocksize' not in already_processed:
|
|
already_processed.add('blocksize')
|
|
try:
|
|
self.blocksize = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.blocksize < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'timeout':
|
|
timeout_ = child_.text
|
|
timeout_ = self.gds_validate_string(timeout_, node, 'timeout')
|
|
self.timeout.append(timeout_)
|
|
elif nodeName_ == 'kernel':
|
|
kernel_ = child_.text
|
|
kernel_ = self.gds_validate_string(kernel_, node, 'kernel')
|
|
self.kernel.append(kernel_)
|
|
elif nodeName_ == 'initrd':
|
|
initrd_ = child_.text
|
|
initrd_ = self.gds_validate_string(initrd_, node, 'initrd')
|
|
self.initrd.append(initrd_)
|
|
elif nodeName_ == 'partitions':
|
|
obj_ = partitions.factory()
|
|
obj_.build(child_)
|
|
self.partitions.append(obj_)
|
|
obj_.original_tagname_ = 'partitions'
|
|
elif nodeName_ == 'union':
|
|
obj_ = union.factory()
|
|
obj_.build(child_)
|
|
self.union.append(obj_)
|
|
obj_.original_tagname_ = 'union'
|
|
elif nodeName_ == 'configuration':
|
|
obj_ = configuration.factory()
|
|
obj_.build(child_)
|
|
self.configuration.append(obj_)
|
|
obj_.original_tagname_ = 'configuration'
|
|
# end class pxedeploy
|
|
|
|
|
|
class description(GeneratedsSuper):
|
|
"""A Short Description"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, type_=None, author=None, contact=None, specification=None):
|
|
self.original_tagname_ = None
|
|
self.type_ = _cast(None, type_)
|
|
if author is None:
|
|
self.author = []
|
|
else:
|
|
self.author = author
|
|
if contact is None:
|
|
self.contact = []
|
|
else:
|
|
self.contact = contact
|
|
if specification is None:
|
|
self.specification = []
|
|
else:
|
|
self.specification = specification
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, description)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if description.subclass:
|
|
return description.subclass(*args_, **kwargs_)
|
|
else:
|
|
return description(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_author(self): return self.author
|
|
def set_author(self, author): self.author = author
|
|
def add_author(self, value): self.author.append(value)
|
|
def insert_author_at(self, index, value): self.author.insert(index, value)
|
|
def replace_author_at(self, index, value): self.author[index] = value
|
|
def get_contact(self): return self.contact
|
|
def set_contact(self, contact): self.contact = contact
|
|
def add_contact(self, value): self.contact.append(value)
|
|
def insert_contact_at(self, index, value): self.contact.insert(index, value)
|
|
def replace_contact_at(self, index, value): self.contact[index] = value
|
|
def get_specification(self): return self.specification
|
|
def set_specification(self, specification): self.specification = specification
|
|
def add_specification(self, value): self.specification.append(value)
|
|
def insert_specification_at(self, index, value): self.specification.insert(index, value)
|
|
def replace_specification_at(self, index, value): self.specification[index] = value
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def hasContent_(self):
|
|
if (
|
|
self.author or
|
|
self.contact or
|
|
self.specification
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='description', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='description')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='description', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='description'):
|
|
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, namespace_='', name_='description', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for author_ in self.author:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sauthor>%s</%sauthor>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(author_), input_name='author')), namespace_, eol_))
|
|
for contact_ in self.contact:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%scontact>%s</%scontact>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(contact_), input_name='contact')), namespace_, eol_))
|
|
for specification_ in self.specification:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sspecification>%s</%sspecification>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(specification_), input_name='specification')), namespace_, eol_))
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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.type_ = ' '.join(self.type_.split())
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'author':
|
|
author_ = child_.text
|
|
author_ = self.gds_validate_string(author_, node, 'author')
|
|
self.author.append(author_)
|
|
elif nodeName_ == 'contact':
|
|
contact_ = child_.text
|
|
contact_ = self.gds_validate_string(contact_, node, 'contact')
|
|
self.contact.append(contact_)
|
|
elif nodeName_ == 'specification':
|
|
specification_ = child_.text
|
|
specification_ = self.gds_validate_string(specification_, node, 'specification')
|
|
self.specification.append(specification_)
|
|
# end class description
|
|
|
|
|
|
class drivers(GeneratedsSuper):
|
|
"""A Collection of Driver Files"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, profiles=None, file=None):
|
|
self.original_tagname_ = None
|
|
self.profiles = _cast(None, profiles)
|
|
if file is None:
|
|
self.file = []
|
|
else:
|
|
self.file = file
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, drivers)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if drivers.subclass:
|
|
return drivers.subclass(*args_, **kwargs_)
|
|
else:
|
|
return drivers(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_file(self): return self.file
|
|
def set_file(self, file): self.file = file
|
|
def add_file(self, value): self.file.append(value)
|
|
def insert_file_at(self, index, value): self.file.insert(index, value)
|
|
def replace_file_at(self, index, value): self.file[index] = value
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def hasContent_(self):
|
|
if (
|
|
self.file
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='drivers', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='drivers')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='drivers', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='drivers'):
|
|
if self.profiles is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='drivers', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for file_ in self.file:
|
|
file_.export(outfile, level, namespace_, name_='file', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('profiles', node)
|
|
if value is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
self.profiles = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'file':
|
|
obj_ = file.factory()
|
|
obj_.build(child_)
|
|
self.file.append(obj_)
|
|
obj_.original_tagname_ = 'file'
|
|
# end class drivers
|
|
|
|
|
|
class strip(GeneratedsSuper):
|
|
"""A Collection of files to strip"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, type_=None, profiles=None, file=None):
|
|
self.original_tagname_ = None
|
|
self.type_ = _cast(None, type_)
|
|
self.profiles = _cast(None, profiles)
|
|
if file is None:
|
|
self.file = []
|
|
else:
|
|
self.file = file
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, strip)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if strip.subclass:
|
|
return strip.subclass(*args_, **kwargs_)
|
|
else:
|
|
return strip(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_file(self): return self.file
|
|
def set_file(self, file): self.file = file
|
|
def add_file(self, value): self.file.append(value)
|
|
def insert_file_at(self, index, value): self.file.insert(index, value)
|
|
def replace_file_at(self, index, value): self.file[index] = value
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def hasContent_(self):
|
|
if (
|
|
self.file
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='strip', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='strip')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='strip', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='strip'):
|
|
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.profiles is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='strip', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for file_ in self.file:
|
|
file_.export(outfile, level, namespace_, name_='file', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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.type_ = ' '.join(self.type_.split())
|
|
value = find_attr_value_('profiles', node)
|
|
if value is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
self.profiles = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'file':
|
|
obj_ = file.factory()
|
|
obj_.build(child_)
|
|
self.file.append(obj_)
|
|
obj_.original_tagname_ = 'file'
|
|
# end class strip
|
|
|
|
|
|
class instsource(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, architectures=None, productoptions=None, instrepo=None, metadata=None, repopackages=None, driverupdate=None):
|
|
self.original_tagname_ = None
|
|
if architectures is None:
|
|
self.architectures = []
|
|
else:
|
|
self.architectures = architectures
|
|
if productoptions is None:
|
|
self.productoptions = []
|
|
else:
|
|
self.productoptions = productoptions
|
|
if instrepo is None:
|
|
self.instrepo = []
|
|
else:
|
|
self.instrepo = instrepo
|
|
if metadata is None:
|
|
self.metadata = []
|
|
else:
|
|
self.metadata = metadata
|
|
if repopackages is None:
|
|
self.repopackages = []
|
|
else:
|
|
self.repopackages = repopackages
|
|
if driverupdate is None:
|
|
self.driverupdate = []
|
|
else:
|
|
self.driverupdate = driverupdate
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, instsource)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if instsource.subclass:
|
|
return instsource.subclass(*args_, **kwargs_)
|
|
else:
|
|
return instsource(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_architectures(self): return self.architectures
|
|
def set_architectures(self, architectures): self.architectures = architectures
|
|
def add_architectures(self, value): self.architectures.append(value)
|
|
def insert_architectures_at(self, index, value): self.architectures.insert(index, value)
|
|
def replace_architectures_at(self, index, value): self.architectures[index] = value
|
|
def get_productoptions(self): return self.productoptions
|
|
def set_productoptions(self, productoptions): self.productoptions = productoptions
|
|
def add_productoptions(self, value): self.productoptions.append(value)
|
|
def insert_productoptions_at(self, index, value): self.productoptions.insert(index, value)
|
|
def replace_productoptions_at(self, index, value): self.productoptions[index] = value
|
|
def get_instrepo(self): return self.instrepo
|
|
def set_instrepo(self, instrepo): self.instrepo = instrepo
|
|
def add_instrepo(self, value): self.instrepo.append(value)
|
|
def insert_instrepo_at(self, index, value): self.instrepo.insert(index, value)
|
|
def replace_instrepo_at(self, index, value): self.instrepo[index] = value
|
|
def get_metadata(self): return self.metadata
|
|
def set_metadata(self, metadata): self.metadata = metadata
|
|
def add_metadata(self, value): self.metadata.append(value)
|
|
def insert_metadata_at(self, index, value): self.metadata.insert(index, value)
|
|
def replace_metadata_at(self, index, value): self.metadata[index] = value
|
|
def get_repopackages(self): return self.repopackages
|
|
def set_repopackages(self, repopackages): self.repopackages = repopackages
|
|
def add_repopackages(self, value): self.repopackages.append(value)
|
|
def insert_repopackages_at(self, index, value): self.repopackages.insert(index, value)
|
|
def replace_repopackages_at(self, index, value): self.repopackages[index] = value
|
|
def get_driverupdate(self): return self.driverupdate
|
|
def set_driverupdate(self, driverupdate): self.driverupdate = driverupdate
|
|
def add_driverupdate(self, value): self.driverupdate.append(value)
|
|
def insert_driverupdate_at(self, index, value): self.driverupdate.insert(index, value)
|
|
def replace_driverupdate_at(self, index, value): self.driverupdate[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.architectures or
|
|
self.productoptions or
|
|
self.instrepo or
|
|
self.metadata or
|
|
self.repopackages or
|
|
self.driverupdate
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='instsource', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='instsource')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='instsource', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='instsource'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='instsource', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for architectures_ in self.architectures:
|
|
architectures_.export(outfile, level, namespace_, name_='architectures', pretty_print=pretty_print)
|
|
for productoptions_ in self.productoptions:
|
|
productoptions_.export(outfile, level, namespace_, name_='productoptions', pretty_print=pretty_print)
|
|
for instrepo_ in self.instrepo:
|
|
instrepo_.export(outfile, level, namespace_, name_='instrepo', pretty_print=pretty_print)
|
|
for metadata_ in self.metadata:
|
|
metadata_.export(outfile, level, namespace_, name_='metadata', pretty_print=pretty_print)
|
|
for repopackages_ in self.repopackages:
|
|
repopackages_.export(outfile, level, namespace_, name_='repopackages', pretty_print=pretty_print)
|
|
for driverupdate_ in self.driverupdate:
|
|
driverupdate_.export(outfile, level, namespace_, name_='driverupdate', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'architectures':
|
|
obj_ = architectures.factory()
|
|
obj_.build(child_)
|
|
self.architectures.append(obj_)
|
|
obj_.original_tagname_ = 'architectures'
|
|
elif nodeName_ == 'productoptions':
|
|
obj_ = productoptions.factory()
|
|
obj_.build(child_)
|
|
self.productoptions.append(obj_)
|
|
obj_.original_tagname_ = 'productoptions'
|
|
elif nodeName_ == 'instrepo':
|
|
obj_ = instrepo.factory()
|
|
obj_.build(child_)
|
|
self.instrepo.append(obj_)
|
|
obj_.original_tagname_ = 'instrepo'
|
|
elif nodeName_ == 'metadata':
|
|
obj_ = metadata.factory()
|
|
obj_.build(child_)
|
|
self.metadata.append(obj_)
|
|
obj_.original_tagname_ = 'metadata'
|
|
elif nodeName_ == 'repopackages':
|
|
obj_ = repopackages.factory()
|
|
obj_.build(child_)
|
|
self.repopackages.append(obj_)
|
|
obj_.original_tagname_ = 'repopackages'
|
|
elif nodeName_ == 'driverupdate':
|
|
obj_ = driverupdate.factory()
|
|
obj_.build(child_)
|
|
self.driverupdate.append(obj_)
|
|
obj_.original_tagname_ = 'driverupdate'
|
|
# end class instsource
|
|
|
|
|
|
class architectures(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, arch=None, requiredarch=None):
|
|
self.original_tagname_ = None
|
|
if arch is None:
|
|
self.arch = []
|
|
else:
|
|
self.arch = arch
|
|
if requiredarch is None:
|
|
self.requiredarch = []
|
|
else:
|
|
self.requiredarch = requiredarch
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, architectures)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if architectures.subclass:
|
|
return architectures.subclass(*args_, **kwargs_)
|
|
else:
|
|
return architectures(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def add_arch(self, value): self.arch.append(value)
|
|
def insert_arch_at(self, index, value): self.arch.insert(index, value)
|
|
def replace_arch_at(self, index, value): self.arch[index] = value
|
|
def get_requiredarch(self): return self.requiredarch
|
|
def set_requiredarch(self, requiredarch): self.requiredarch = requiredarch
|
|
def add_requiredarch(self, value): self.requiredarch.append(value)
|
|
def insert_requiredarch_at(self, index, value): self.requiredarch.insert(index, value)
|
|
def replace_requiredarch_at(self, index, value): self.requiredarch[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.arch or
|
|
self.requiredarch
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='architectures', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='architectures')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='architectures', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='architectures'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='architectures', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for arch_ in self.arch:
|
|
arch_.export(outfile, level, namespace_, name_='arch', pretty_print=pretty_print)
|
|
for requiredarch_ in self.requiredarch:
|
|
requiredarch_.export(outfile, level, namespace_, name_='requiredarch', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'arch':
|
|
obj_ = arch.factory()
|
|
obj_.build(child_)
|
|
self.arch.append(obj_)
|
|
obj_.original_tagname_ = 'arch'
|
|
elif nodeName_ == 'requiredarch':
|
|
obj_ = requiredarch.factory()
|
|
obj_.build(child_)
|
|
self.requiredarch.append(obj_)
|
|
obj_.original_tagname_ = 'requiredarch'
|
|
# end class architectures
|
|
|
|
|
|
class productoptions(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, productoption=None, productinfo=None, productvar=None):
|
|
self.original_tagname_ = None
|
|
if productoption is None:
|
|
self.productoption = []
|
|
else:
|
|
self.productoption = productoption
|
|
if productinfo is None:
|
|
self.productinfo = []
|
|
else:
|
|
self.productinfo = productinfo
|
|
if productvar is None:
|
|
self.productvar = []
|
|
else:
|
|
self.productvar = productvar
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, productoptions)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if productoptions.subclass:
|
|
return productoptions.subclass(*args_, **kwargs_)
|
|
else:
|
|
return productoptions(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_productoption(self): return self.productoption
|
|
def set_productoption(self, productoption): self.productoption = productoption
|
|
def add_productoption(self, value): self.productoption.append(value)
|
|
def insert_productoption_at(self, index, value): self.productoption.insert(index, value)
|
|
def replace_productoption_at(self, index, value): self.productoption[index] = value
|
|
def get_productinfo(self): return self.productinfo
|
|
def set_productinfo(self, productinfo): self.productinfo = productinfo
|
|
def add_productinfo(self, value): self.productinfo.append(value)
|
|
def insert_productinfo_at(self, index, value): self.productinfo.insert(index, value)
|
|
def replace_productinfo_at(self, index, value): self.productinfo[index] = value
|
|
def get_productvar(self): return self.productvar
|
|
def set_productvar(self, productvar): self.productvar = productvar
|
|
def add_productvar(self, value): self.productvar.append(value)
|
|
def insert_productvar_at(self, index, value): self.productvar.insert(index, value)
|
|
def replace_productvar_at(self, index, value): self.productvar[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.productoption or
|
|
self.productinfo or
|
|
self.productvar
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='productoptions', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='productoptions')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='productoptions', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='productoptions'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='productoptions', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for productoption_ in self.productoption:
|
|
productoption_.export(outfile, level, namespace_, name_='productoption', pretty_print=pretty_print)
|
|
for productinfo_ in self.productinfo:
|
|
productinfo_.export(outfile, level, namespace_, name_='productinfo', pretty_print=pretty_print)
|
|
for productvar_ in self.productvar:
|
|
productvar_.export(outfile, level, namespace_, name_='productvar', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'productoption':
|
|
obj_ = productoption.factory()
|
|
obj_.build(child_)
|
|
self.productoption.append(obj_)
|
|
obj_.original_tagname_ = 'productoption'
|
|
elif nodeName_ == 'productinfo':
|
|
obj_ = productinfo.factory()
|
|
obj_.build(child_)
|
|
self.productinfo.append(obj_)
|
|
obj_.original_tagname_ = 'productinfo'
|
|
elif nodeName_ == 'productvar':
|
|
obj_ = productvar.factory()
|
|
obj_.build(child_)
|
|
self.productvar.append(obj_)
|
|
obj_.original_tagname_ = 'productvar'
|
|
# end class productoptions
|
|
|
|
|
|
class productoption(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, valueOf_=None, mixedclass_=None, content_=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
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_, productoption)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if productoption.subclass:
|
|
return productoption.subclass(*args_, **kwargs_)
|
|
else:
|
|
return productoption(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_valueOf_(self): return self.valueOf_
|
|
def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_
|
|
def hasContent_(self):
|
|
if (
|
|
1 if type(self.valueOf_) in [int,float] else self.valueOf_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='productoption', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='productoption')
|
|
outfile.write('>')
|
|
self.exportChildren(outfile, level + 1, namespace_, name_, pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='productoption'):
|
|
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, namespace_='', name_='productoption', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
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_)
|
|
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
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
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 productoption
|
|
|
|
|
|
class arch(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, id=None, name=None, fallback=None):
|
|
self.original_tagname_ = None
|
|
self.id = _cast(None, id)
|
|
self.name = _cast(None, name)
|
|
self.fallback = _cast(None, fallback)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, arch)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if arch.subclass:
|
|
return arch.subclass(*args_, **kwargs_)
|
|
else:
|
|
return arch(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_id(self): return self.id
|
|
def set_id(self, id): self.id = id
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_fallback(self): return self.fallback
|
|
def set_fallback(self, fallback): self.fallback = fallback
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='arch', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='arch')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='arch', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='arch'):
|
|
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.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')), ))
|
|
if self.fallback is not None and 'fallback' not in already_processed:
|
|
already_processed.add('fallback')
|
|
outfile.write(' fallback=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.fallback), input_name='fallback')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='arch', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('name', node)
|
|
if value is not None and 'name' not in already_processed:
|
|
already_processed.add('name')
|
|
self.name = value
|
|
value = find_attr_value_('fallback', node)
|
|
if value is not None and 'fallback' not in already_processed:
|
|
already_processed.add('fallback')
|
|
self.fallback = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class arch
|
|
|
|
|
|
class requiredarch(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, ref=None):
|
|
self.original_tagname_ = None
|
|
self.ref = _cast(None, ref)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, requiredarch)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if requiredarch.subclass:
|
|
return requiredarch.subclass(*args_, **kwargs_)
|
|
else:
|
|
return requiredarch(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_ref(self): return self.ref
|
|
def set_ref(self, ref): self.ref = ref
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='requiredarch', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='requiredarch')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='requiredarch', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='requiredarch'):
|
|
if self.ref is not None and 'ref' not in already_processed:
|
|
already_processed.add('ref')
|
|
outfile.write(' ref=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ref), input_name='ref')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='requiredarch', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('ref', node)
|
|
if value is not None and 'ref' not in already_processed:
|
|
already_processed.add('ref')
|
|
self.ref = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class requiredarch
|
|
|
|
|
|
class productinfo(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, valueOf_=None, mixedclass_=None, content_=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
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_, productinfo)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if productinfo.subclass:
|
|
return productinfo.subclass(*args_, **kwargs_)
|
|
else:
|
|
return productinfo(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_valueOf_(self): return self.valueOf_
|
|
def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_
|
|
def hasContent_(self):
|
|
if (
|
|
1 if type(self.valueOf_) in [int,float] else self.valueOf_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='productinfo', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='productinfo')
|
|
outfile.write('>')
|
|
self.exportChildren(outfile, level + 1, namespace_, name_, pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='productinfo'):
|
|
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, namespace_='', name_='productinfo', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
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_)
|
|
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
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
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 productinfo
|
|
|
|
|
|
class productvar(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, valueOf_=None, mixedclass_=None, content_=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
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_, productvar)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if productvar.subclass:
|
|
return productvar.subclass(*args_, **kwargs_)
|
|
else:
|
|
return productvar(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_valueOf_(self): return self.valueOf_
|
|
def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_
|
|
def hasContent_(self):
|
|
if (
|
|
1 if type(self.valueOf_) in [int,float] else self.valueOf_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='productvar', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='productvar')
|
|
outfile.write('>')
|
|
self.exportChildren(outfile, level + 1, namespace_, name_, pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='productvar'):
|
|
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, namespace_='', name_='productvar', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
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_)
|
|
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
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
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 productvar
|
|
|
|
|
|
class chroot(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, requires=None, valueOf_=None, mixedclass_=None, content_=None):
|
|
self.original_tagname_ = None
|
|
self.requires = _cast(None, requires)
|
|
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_, chroot)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if chroot.subclass:
|
|
return chroot.subclass(*args_, **kwargs_)
|
|
else:
|
|
return chroot(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_requires(self): return self.requires
|
|
def set_requires(self, requires): self.requires = requires
|
|
def get_valueOf_(self): return self.valueOf_
|
|
def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_
|
|
def hasContent_(self):
|
|
if (
|
|
1 if type(self.valueOf_) in [int,float] else self.valueOf_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='chroot', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='chroot')
|
|
outfile.write('>')
|
|
self.exportChildren(outfile, level + 1, namespace_, name_, pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='chroot'):
|
|
if self.requires is not None and 'requires' not in already_processed:
|
|
already_processed.add('requires')
|
|
outfile.write(' requires=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.requires), input_name='requires')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='chroot', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
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_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('requires', node)
|
|
if value is not None and 'requires' not in already_processed:
|
|
already_processed.add('requires')
|
|
self.requires = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
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 chroot
|
|
|
|
|
|
class repopackages(GeneratedsSuper):
|
|
"""Specifies Packages for Installation Source"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, repopackage=None):
|
|
self.original_tagname_ = None
|
|
if repopackage is None:
|
|
self.repopackage = []
|
|
else:
|
|
self.repopackage = repopackage
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, repopackages)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if repopackages.subclass:
|
|
return repopackages.subclass(*args_, **kwargs_)
|
|
else:
|
|
return repopackages(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_repopackage(self): return self.repopackage
|
|
def set_repopackage(self, repopackage): self.repopackage = repopackage
|
|
def add_repopackage(self, value): self.repopackage.append(value)
|
|
def insert_repopackage_at(self, index, value): self.repopackage.insert(index, value)
|
|
def replace_repopackage_at(self, index, value): self.repopackage[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.repopackage
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='repopackages', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='repopackages')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='repopackages', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='repopackages'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='repopackages', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for repopackage_ in self.repopackage:
|
|
repopackage_.export(outfile, level, namespace_, name_='repopackage', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'repopackage':
|
|
obj_ = repopackage.factory()
|
|
obj_.build(child_)
|
|
self.repopackage.append(obj_)
|
|
obj_.original_tagname_ = 'repopackage'
|
|
# end class repopackages
|
|
|
|
|
|
class driverupdate(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, target=None, install=None, modules=None, instsys=None):
|
|
self.original_tagname_ = None
|
|
if target is None:
|
|
self.target = []
|
|
else:
|
|
self.target = target
|
|
if install is None:
|
|
self.install = []
|
|
else:
|
|
self.install = install
|
|
if modules is None:
|
|
self.modules = []
|
|
else:
|
|
self.modules = modules
|
|
if instsys is None:
|
|
self.instsys = []
|
|
else:
|
|
self.instsys = instsys
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, driverupdate)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if driverupdate.subclass:
|
|
return driverupdate.subclass(*args_, **kwargs_)
|
|
else:
|
|
return driverupdate(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_target(self): return self.target
|
|
def set_target(self, target): self.target = target
|
|
def add_target(self, value): self.target.append(value)
|
|
def insert_target_at(self, index, value): self.target.insert(index, value)
|
|
def replace_target_at(self, index, value): self.target[index] = value
|
|
def get_install(self): return self.install
|
|
def set_install(self, install): self.install = install
|
|
def add_install(self, value): self.install.append(value)
|
|
def insert_install_at(self, index, value): self.install.insert(index, value)
|
|
def replace_install_at(self, index, value): self.install[index] = value
|
|
def get_modules(self): return self.modules
|
|
def set_modules(self, modules): self.modules = modules
|
|
def add_modules(self, value): self.modules.append(value)
|
|
def insert_modules_at(self, index, value): self.modules.insert(index, value)
|
|
def replace_modules_at(self, index, value): self.modules[index] = value
|
|
def get_instsys(self): return self.instsys
|
|
def set_instsys(self, instsys): self.instsys = instsys
|
|
def add_instsys(self, value): self.instsys.append(value)
|
|
def insert_instsys_at(self, index, value): self.instsys.insert(index, value)
|
|
def replace_instsys_at(self, index, value): self.instsys[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.target or
|
|
self.install or
|
|
self.modules or
|
|
self.instsys
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='driverupdate', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='driverupdate')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='driverupdate', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='driverupdate'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='driverupdate', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for target_ in self.target:
|
|
target_.export(outfile, level, namespace_, name_='target', pretty_print=pretty_print)
|
|
for install_ in self.install:
|
|
install_.export(outfile, level, namespace_, name_='install', pretty_print=pretty_print)
|
|
for modules_ in self.modules:
|
|
modules_.export(outfile, level, namespace_, name_='modules', pretty_print=pretty_print)
|
|
for instsys_ in self.instsys:
|
|
instsys_.export(outfile, level, namespace_, name_='instsys', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'target':
|
|
obj_ = target.factory()
|
|
obj_.build(child_)
|
|
self.target.append(obj_)
|
|
obj_.original_tagname_ = 'target'
|
|
elif nodeName_ == 'install':
|
|
obj_ = install.factory()
|
|
obj_.build(child_)
|
|
self.install.append(obj_)
|
|
obj_.original_tagname_ = 'install'
|
|
elif nodeName_ == 'modules':
|
|
obj_ = modules.factory()
|
|
obj_.build(child_)
|
|
self.modules.append(obj_)
|
|
obj_.original_tagname_ = 'modules'
|
|
elif nodeName_ == 'instsys':
|
|
obj_ = instsys.factory()
|
|
obj_.build(child_)
|
|
self.instsys.append(obj_)
|
|
obj_.original_tagname_ = 'instsys'
|
|
# end class driverupdate
|
|
|
|
|
|
class target(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, arch=None, valueOf_=None, mixedclass_=None, content_=None):
|
|
self.original_tagname_ = None
|
|
self.arch = _cast(None, arch)
|
|
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_, target)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if target.subclass:
|
|
return target.subclass(*args_, **kwargs_)
|
|
else:
|
|
return target(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def get_valueOf_(self): return self.valueOf_
|
|
def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_
|
|
def hasContent_(self):
|
|
if (
|
|
1 if type(self.valueOf_) in [int,float] else self.valueOf_
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='target', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='target')
|
|
outfile.write('>')
|
|
self.exportChildren(outfile, level + 1, namespace_, name_, pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='target'):
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='target', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
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_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
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 target
|
|
|
|
|
|
class install(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, repopackage=None):
|
|
self.original_tagname_ = None
|
|
if repopackage is None:
|
|
self.repopackage = []
|
|
else:
|
|
self.repopackage = repopackage
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, install)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if install.subclass:
|
|
return install.subclass(*args_, **kwargs_)
|
|
else:
|
|
return install(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_repopackage(self): return self.repopackage
|
|
def set_repopackage(self, repopackage): self.repopackage = repopackage
|
|
def add_repopackage(self, value): self.repopackage.append(value)
|
|
def insert_repopackage_at(self, index, value): self.repopackage.insert(index, value)
|
|
def replace_repopackage_at(self, index, value): self.repopackage[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.repopackage
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='install', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='install')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='install', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='install'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='install', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for repopackage_ in self.repopackage:
|
|
repopackage_.export(outfile, level, namespace_, name_='repopackage', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'repopackage':
|
|
obj_ = repopackage.factory()
|
|
obj_.build(child_)
|
|
self.repopackage.append(obj_)
|
|
obj_.original_tagname_ = 'repopackage'
|
|
# end class install
|
|
|
|
|
|
class modules(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, repopackage=None):
|
|
self.original_tagname_ = None
|
|
if repopackage is None:
|
|
self.repopackage = []
|
|
else:
|
|
self.repopackage = repopackage
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, modules)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if modules.subclass:
|
|
return modules.subclass(*args_, **kwargs_)
|
|
else:
|
|
return modules(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_repopackage(self): return self.repopackage
|
|
def set_repopackage(self, repopackage): self.repopackage = repopackage
|
|
def add_repopackage(self, value): self.repopackage.append(value)
|
|
def insert_repopackage_at(self, index, value): self.repopackage.insert(index, value)
|
|
def replace_repopackage_at(self, index, value): self.repopackage[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.repopackage
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='modules', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='modules')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='modules', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='modules'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='modules', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for repopackage_ in self.repopackage:
|
|
repopackage_.export(outfile, level, namespace_, name_='repopackage', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'repopackage':
|
|
obj_ = repopackage.factory()
|
|
obj_.build(child_)
|
|
self.repopackage.append(obj_)
|
|
obj_.original_tagname_ = 'repopackage'
|
|
# end class modules
|
|
|
|
|
|
class instsys(GeneratedsSuper):
|
|
"""Describe Packages and Metadata"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, repopackage=None):
|
|
self.original_tagname_ = None
|
|
if repopackage is None:
|
|
self.repopackage = []
|
|
else:
|
|
self.repopackage = repopackage
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, instsys)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if instsys.subclass:
|
|
return instsys.subclass(*args_, **kwargs_)
|
|
else:
|
|
return instsys(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_repopackage(self): return self.repopackage
|
|
def set_repopackage(self, repopackage): self.repopackage = repopackage
|
|
def add_repopackage(self, value): self.repopackage.append(value)
|
|
def insert_repopackage_at(self, index, value): self.repopackage.insert(index, value)
|
|
def replace_repopackage_at(self, index, value): self.repopackage[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.repopackage
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='instsys', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='instsys')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='instsys', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='instsys'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='instsys', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for repopackage_ in self.repopackage:
|
|
repopackage_.export(outfile, level, namespace_, name_='repopackage', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'repopackage':
|
|
obj_ = repopackage.factory()
|
|
obj_.build(child_)
|
|
self.repopackage.append(obj_)
|
|
obj_.original_tagname_ = 'repopackage'
|
|
# end class instsys
|
|
|
|
|
|
class containerconfig(GeneratedsSuper):
|
|
"""Provides metadata information for containers"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, name=None, entry_command=None):
|
|
self.original_tagname_ = None
|
|
self.name = _cast(None, name)
|
|
self.entry_command = _cast(None, entry_command)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, containerconfig)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if containerconfig.subclass:
|
|
return containerconfig.subclass(*args_, **kwargs_)
|
|
else:
|
|
return containerconfig(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_name(self): return self.name
|
|
def set_name(self, name): self.name = name
|
|
def get_entry_command(self): return self.entry_command
|
|
def set_entry_command(self, entry_command): self.entry_command = entry_command
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='containerconfig', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='containerconfig')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='containerconfig', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='containerconfig'):
|
|
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')), ))
|
|
if self.entry_command is not None and 'entry_command' not in already_processed:
|
|
already_processed.add('entry_command')
|
|
outfile.write(' entry_command=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.entry_command), input_name='entry_command')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='containerconfig', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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
|
|
value = find_attr_value_('entry_command', node)
|
|
if value is not None and 'entry_command' not in already_processed:
|
|
already_processed.add('entry_command')
|
|
self.entry_command = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class containerconfig
|
|
|
|
|
|
class oemconfig(GeneratedsSuper):
|
|
"""Specifies the OEM configuration section"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, oem_ataraid_scan=None, oem_boot_title=None, oem_bootwait=None, oem_device_filter=None, oem_inplace_recovery=None, oem_kiwi_initrd=None, oem_multipath_scan=None, oem_vmcp_parmfile=None, oem_partition_install=None, oem_reboot=None, oem_reboot_interactive=None, oem_recovery=None, oem_recoveryID=None, oem_recovery_part_size=None, oem_shutdown=None, oem_shutdown_interactive=None, oem_silent_boot=None, oem_silent_install=None, oem_silent_verify=None, oem_skip_verify=None, oem_swap=None, oem_swapsize=None, oem_systemsize=None, oem_unattended=None, oem_unattended_id=None):
|
|
self.original_tagname_ = None
|
|
if oem_ataraid_scan is None:
|
|
self.oem_ataraid_scan = []
|
|
else:
|
|
self.oem_ataraid_scan = oem_ataraid_scan
|
|
if oem_boot_title is None:
|
|
self.oem_boot_title = []
|
|
else:
|
|
self.oem_boot_title = oem_boot_title
|
|
if oem_bootwait is None:
|
|
self.oem_bootwait = []
|
|
else:
|
|
self.oem_bootwait = oem_bootwait
|
|
if oem_device_filter is None:
|
|
self.oem_device_filter = []
|
|
else:
|
|
self.oem_device_filter = oem_device_filter
|
|
if oem_inplace_recovery is None:
|
|
self.oem_inplace_recovery = []
|
|
else:
|
|
self.oem_inplace_recovery = oem_inplace_recovery
|
|
if oem_kiwi_initrd is None:
|
|
self.oem_kiwi_initrd = []
|
|
else:
|
|
self.oem_kiwi_initrd = oem_kiwi_initrd
|
|
if oem_multipath_scan is None:
|
|
self.oem_multipath_scan = []
|
|
else:
|
|
self.oem_multipath_scan = oem_multipath_scan
|
|
if oem_vmcp_parmfile is None:
|
|
self.oem_vmcp_parmfile = []
|
|
else:
|
|
self.oem_vmcp_parmfile = oem_vmcp_parmfile
|
|
if oem_partition_install is None:
|
|
self.oem_partition_install = []
|
|
else:
|
|
self.oem_partition_install = oem_partition_install
|
|
if oem_reboot is None:
|
|
self.oem_reboot = []
|
|
else:
|
|
self.oem_reboot = oem_reboot
|
|
if oem_reboot_interactive is None:
|
|
self.oem_reboot_interactive = []
|
|
else:
|
|
self.oem_reboot_interactive = oem_reboot_interactive
|
|
if oem_recovery is None:
|
|
self.oem_recovery = []
|
|
else:
|
|
self.oem_recovery = oem_recovery
|
|
if oem_recoveryID is None:
|
|
self.oem_recoveryID = []
|
|
else:
|
|
self.oem_recoveryID = oem_recoveryID
|
|
if oem_recovery_part_size is None:
|
|
self.oem_recovery_part_size = []
|
|
else:
|
|
self.oem_recovery_part_size = oem_recovery_part_size
|
|
if oem_shutdown is None:
|
|
self.oem_shutdown = []
|
|
else:
|
|
self.oem_shutdown = oem_shutdown
|
|
if oem_shutdown_interactive is None:
|
|
self.oem_shutdown_interactive = []
|
|
else:
|
|
self.oem_shutdown_interactive = oem_shutdown_interactive
|
|
if oem_silent_boot is None:
|
|
self.oem_silent_boot = []
|
|
else:
|
|
self.oem_silent_boot = oem_silent_boot
|
|
if oem_silent_install is None:
|
|
self.oem_silent_install = []
|
|
else:
|
|
self.oem_silent_install = oem_silent_install
|
|
if oem_silent_verify is None:
|
|
self.oem_silent_verify = []
|
|
else:
|
|
self.oem_silent_verify = oem_silent_verify
|
|
if oem_skip_verify is None:
|
|
self.oem_skip_verify = []
|
|
else:
|
|
self.oem_skip_verify = oem_skip_verify
|
|
if oem_swap is None:
|
|
self.oem_swap = []
|
|
else:
|
|
self.oem_swap = oem_swap
|
|
if oem_swapsize is None:
|
|
self.oem_swapsize = []
|
|
else:
|
|
self.oem_swapsize = oem_swapsize
|
|
if oem_systemsize is None:
|
|
self.oem_systemsize = []
|
|
else:
|
|
self.oem_systemsize = oem_systemsize
|
|
if oem_unattended is None:
|
|
self.oem_unattended = []
|
|
else:
|
|
self.oem_unattended = oem_unattended
|
|
if oem_unattended_id is None:
|
|
self.oem_unattended_id = []
|
|
else:
|
|
self.oem_unattended_id = oem_unattended_id
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, oemconfig)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if oemconfig.subclass:
|
|
return oemconfig.subclass(*args_, **kwargs_)
|
|
else:
|
|
return oemconfig(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_oem_ataraid_scan(self): return self.oem_ataraid_scan
|
|
def set_oem_ataraid_scan(self, oem_ataraid_scan): self.oem_ataraid_scan = oem_ataraid_scan
|
|
def add_oem_ataraid_scan(self, value): self.oem_ataraid_scan.append(value)
|
|
def insert_oem_ataraid_scan_at(self, index, value): self.oem_ataraid_scan.insert(index, value)
|
|
def replace_oem_ataraid_scan_at(self, index, value): self.oem_ataraid_scan[index] = value
|
|
def get_oem_boot_title(self): return self.oem_boot_title
|
|
def set_oem_boot_title(self, oem_boot_title): self.oem_boot_title = oem_boot_title
|
|
def add_oem_boot_title(self, value): self.oem_boot_title.append(value)
|
|
def insert_oem_boot_title_at(self, index, value): self.oem_boot_title.insert(index, value)
|
|
def replace_oem_boot_title_at(self, index, value): self.oem_boot_title[index] = value
|
|
def get_oem_bootwait(self): return self.oem_bootwait
|
|
def set_oem_bootwait(self, oem_bootwait): self.oem_bootwait = oem_bootwait
|
|
def add_oem_bootwait(self, value): self.oem_bootwait.append(value)
|
|
def insert_oem_bootwait_at(self, index, value): self.oem_bootwait.insert(index, value)
|
|
def replace_oem_bootwait_at(self, index, value): self.oem_bootwait[index] = value
|
|
def get_oem_device_filter(self): return self.oem_device_filter
|
|
def set_oem_device_filter(self, oem_device_filter): self.oem_device_filter = oem_device_filter
|
|
def add_oem_device_filter(self, value): self.oem_device_filter.append(value)
|
|
def insert_oem_device_filter_at(self, index, value): self.oem_device_filter.insert(index, value)
|
|
def replace_oem_device_filter_at(self, index, value): self.oem_device_filter[index] = value
|
|
def get_oem_inplace_recovery(self): return self.oem_inplace_recovery
|
|
def set_oem_inplace_recovery(self, oem_inplace_recovery): self.oem_inplace_recovery = oem_inplace_recovery
|
|
def add_oem_inplace_recovery(self, value): self.oem_inplace_recovery.append(value)
|
|
def insert_oem_inplace_recovery_at(self, index, value): self.oem_inplace_recovery.insert(index, value)
|
|
def replace_oem_inplace_recovery_at(self, index, value): self.oem_inplace_recovery[index] = value
|
|
def get_oem_kiwi_initrd(self): return self.oem_kiwi_initrd
|
|
def set_oem_kiwi_initrd(self, oem_kiwi_initrd): self.oem_kiwi_initrd = oem_kiwi_initrd
|
|
def add_oem_kiwi_initrd(self, value): self.oem_kiwi_initrd.append(value)
|
|
def insert_oem_kiwi_initrd_at(self, index, value): self.oem_kiwi_initrd.insert(index, value)
|
|
def replace_oem_kiwi_initrd_at(self, index, value): self.oem_kiwi_initrd[index] = value
|
|
def get_oem_multipath_scan(self): return self.oem_multipath_scan
|
|
def set_oem_multipath_scan(self, oem_multipath_scan): self.oem_multipath_scan = oem_multipath_scan
|
|
def add_oem_multipath_scan(self, value): self.oem_multipath_scan.append(value)
|
|
def insert_oem_multipath_scan_at(self, index, value): self.oem_multipath_scan.insert(index, value)
|
|
def replace_oem_multipath_scan_at(self, index, value): self.oem_multipath_scan[index] = value
|
|
def get_oem_vmcp_parmfile(self): return self.oem_vmcp_parmfile
|
|
def set_oem_vmcp_parmfile(self, oem_vmcp_parmfile): self.oem_vmcp_parmfile = oem_vmcp_parmfile
|
|
def add_oem_vmcp_parmfile(self, value): self.oem_vmcp_parmfile.append(value)
|
|
def insert_oem_vmcp_parmfile_at(self, index, value): self.oem_vmcp_parmfile.insert(index, value)
|
|
def replace_oem_vmcp_parmfile_at(self, index, value): self.oem_vmcp_parmfile[index] = value
|
|
def get_oem_partition_install(self): return self.oem_partition_install
|
|
def set_oem_partition_install(self, oem_partition_install): self.oem_partition_install = oem_partition_install
|
|
def add_oem_partition_install(self, value): self.oem_partition_install.append(value)
|
|
def insert_oem_partition_install_at(self, index, value): self.oem_partition_install.insert(index, value)
|
|
def replace_oem_partition_install_at(self, index, value): self.oem_partition_install[index] = value
|
|
def get_oem_reboot(self): return self.oem_reboot
|
|
def set_oem_reboot(self, oem_reboot): self.oem_reboot = oem_reboot
|
|
def add_oem_reboot(self, value): self.oem_reboot.append(value)
|
|
def insert_oem_reboot_at(self, index, value): self.oem_reboot.insert(index, value)
|
|
def replace_oem_reboot_at(self, index, value): self.oem_reboot[index] = value
|
|
def get_oem_reboot_interactive(self): return self.oem_reboot_interactive
|
|
def set_oem_reboot_interactive(self, oem_reboot_interactive): self.oem_reboot_interactive = oem_reboot_interactive
|
|
def add_oem_reboot_interactive(self, value): self.oem_reboot_interactive.append(value)
|
|
def insert_oem_reboot_interactive_at(self, index, value): self.oem_reboot_interactive.insert(index, value)
|
|
def replace_oem_reboot_interactive_at(self, index, value): self.oem_reboot_interactive[index] = value
|
|
def get_oem_recovery(self): return self.oem_recovery
|
|
def set_oem_recovery(self, oem_recovery): self.oem_recovery = oem_recovery
|
|
def add_oem_recovery(self, value): self.oem_recovery.append(value)
|
|
def insert_oem_recovery_at(self, index, value): self.oem_recovery.insert(index, value)
|
|
def replace_oem_recovery_at(self, index, value): self.oem_recovery[index] = value
|
|
def get_oem_recoveryID(self): return self.oem_recoveryID
|
|
def set_oem_recoveryID(self, oem_recoveryID): self.oem_recoveryID = oem_recoveryID
|
|
def add_oem_recoveryID(self, value): self.oem_recoveryID.append(value)
|
|
def insert_oem_recoveryID_at(self, index, value): self.oem_recoveryID.insert(index, value)
|
|
def replace_oem_recoveryID_at(self, index, value): self.oem_recoveryID[index] = value
|
|
def get_oem_recovery_part_size(self): return self.oem_recovery_part_size
|
|
def set_oem_recovery_part_size(self, oem_recovery_part_size): self.oem_recovery_part_size = oem_recovery_part_size
|
|
def add_oem_recovery_part_size(self, value): self.oem_recovery_part_size.append(value)
|
|
def insert_oem_recovery_part_size_at(self, index, value): self.oem_recovery_part_size.insert(index, value)
|
|
def replace_oem_recovery_part_size_at(self, index, value): self.oem_recovery_part_size[index] = value
|
|
def get_oem_shutdown(self): return self.oem_shutdown
|
|
def set_oem_shutdown(self, oem_shutdown): self.oem_shutdown = oem_shutdown
|
|
def add_oem_shutdown(self, value): self.oem_shutdown.append(value)
|
|
def insert_oem_shutdown_at(self, index, value): self.oem_shutdown.insert(index, value)
|
|
def replace_oem_shutdown_at(self, index, value): self.oem_shutdown[index] = value
|
|
def get_oem_shutdown_interactive(self): return self.oem_shutdown_interactive
|
|
def set_oem_shutdown_interactive(self, oem_shutdown_interactive): self.oem_shutdown_interactive = oem_shutdown_interactive
|
|
def add_oem_shutdown_interactive(self, value): self.oem_shutdown_interactive.append(value)
|
|
def insert_oem_shutdown_interactive_at(self, index, value): self.oem_shutdown_interactive.insert(index, value)
|
|
def replace_oem_shutdown_interactive_at(self, index, value): self.oem_shutdown_interactive[index] = value
|
|
def get_oem_silent_boot(self): return self.oem_silent_boot
|
|
def set_oem_silent_boot(self, oem_silent_boot): self.oem_silent_boot = oem_silent_boot
|
|
def add_oem_silent_boot(self, value): self.oem_silent_boot.append(value)
|
|
def insert_oem_silent_boot_at(self, index, value): self.oem_silent_boot.insert(index, value)
|
|
def replace_oem_silent_boot_at(self, index, value): self.oem_silent_boot[index] = value
|
|
def get_oem_silent_install(self): return self.oem_silent_install
|
|
def set_oem_silent_install(self, oem_silent_install): self.oem_silent_install = oem_silent_install
|
|
def add_oem_silent_install(self, value): self.oem_silent_install.append(value)
|
|
def insert_oem_silent_install_at(self, index, value): self.oem_silent_install.insert(index, value)
|
|
def replace_oem_silent_install_at(self, index, value): self.oem_silent_install[index] = value
|
|
def get_oem_silent_verify(self): return self.oem_silent_verify
|
|
def set_oem_silent_verify(self, oem_silent_verify): self.oem_silent_verify = oem_silent_verify
|
|
def add_oem_silent_verify(self, value): self.oem_silent_verify.append(value)
|
|
def insert_oem_silent_verify_at(self, index, value): self.oem_silent_verify.insert(index, value)
|
|
def replace_oem_silent_verify_at(self, index, value): self.oem_silent_verify[index] = value
|
|
def get_oem_skip_verify(self): return self.oem_skip_verify
|
|
def set_oem_skip_verify(self, oem_skip_verify): self.oem_skip_verify = oem_skip_verify
|
|
def add_oem_skip_verify(self, value): self.oem_skip_verify.append(value)
|
|
def insert_oem_skip_verify_at(self, index, value): self.oem_skip_verify.insert(index, value)
|
|
def replace_oem_skip_verify_at(self, index, value): self.oem_skip_verify[index] = value
|
|
def get_oem_swap(self): return self.oem_swap
|
|
def set_oem_swap(self, oem_swap): self.oem_swap = oem_swap
|
|
def add_oem_swap(self, value): self.oem_swap.append(value)
|
|
def insert_oem_swap_at(self, index, value): self.oem_swap.insert(index, value)
|
|
def replace_oem_swap_at(self, index, value): self.oem_swap[index] = value
|
|
def get_oem_swapsize(self): return self.oem_swapsize
|
|
def set_oem_swapsize(self, oem_swapsize): self.oem_swapsize = oem_swapsize
|
|
def add_oem_swapsize(self, value): self.oem_swapsize.append(value)
|
|
def insert_oem_swapsize_at(self, index, value): self.oem_swapsize.insert(index, value)
|
|
def replace_oem_swapsize_at(self, index, value): self.oem_swapsize[index] = value
|
|
def get_oem_systemsize(self): return self.oem_systemsize
|
|
def set_oem_systemsize(self, oem_systemsize): self.oem_systemsize = oem_systemsize
|
|
def add_oem_systemsize(self, value): self.oem_systemsize.append(value)
|
|
def insert_oem_systemsize_at(self, index, value): self.oem_systemsize.insert(index, value)
|
|
def replace_oem_systemsize_at(self, index, value): self.oem_systemsize[index] = value
|
|
def get_oem_unattended(self): return self.oem_unattended
|
|
def set_oem_unattended(self, oem_unattended): self.oem_unattended = oem_unattended
|
|
def add_oem_unattended(self, value): self.oem_unattended.append(value)
|
|
def insert_oem_unattended_at(self, index, value): self.oem_unattended.insert(index, value)
|
|
def replace_oem_unattended_at(self, index, value): self.oem_unattended[index] = value
|
|
def get_oem_unattended_id(self): return self.oem_unattended_id
|
|
def set_oem_unattended_id(self, oem_unattended_id): self.oem_unattended_id = oem_unattended_id
|
|
def add_oem_unattended_id(self, value): self.oem_unattended_id.append(value)
|
|
def insert_oem_unattended_id_at(self, index, value): self.oem_unattended_id.insert(index, value)
|
|
def replace_oem_unattended_id_at(self, index, value): self.oem_unattended_id[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.oem_ataraid_scan or
|
|
self.oem_boot_title or
|
|
self.oem_bootwait or
|
|
self.oem_device_filter or
|
|
self.oem_inplace_recovery or
|
|
self.oem_kiwi_initrd or
|
|
self.oem_multipath_scan or
|
|
self.oem_vmcp_parmfile or
|
|
self.oem_partition_install or
|
|
self.oem_reboot or
|
|
self.oem_reboot_interactive or
|
|
self.oem_recovery or
|
|
self.oem_recoveryID or
|
|
self.oem_recovery_part_size or
|
|
self.oem_shutdown or
|
|
self.oem_shutdown_interactive or
|
|
self.oem_silent_boot or
|
|
self.oem_silent_install or
|
|
self.oem_silent_verify or
|
|
self.oem_skip_verify or
|
|
self.oem_swap or
|
|
self.oem_swapsize or
|
|
self.oem_systemsize or
|
|
self.oem_unattended or
|
|
self.oem_unattended_id
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='oemconfig', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='oemconfig')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='oemconfig', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='oemconfig'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='oemconfig', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for oem_ataraid_scan_ in self.oem_ataraid_scan:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-ataraid-scan>%s</%soem-ataraid-scan>%s' % (namespace_, self.gds_format_boolean(oem_ataraid_scan_, input_name='oem-ataraid-scan'), namespace_, eol_))
|
|
for oem_boot_title_ in self.oem_boot_title:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-boot-title>%s</%soem-boot-title>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(oem_boot_title_), input_name='oem-boot-title')), namespace_, eol_))
|
|
for oem_bootwait_ in self.oem_bootwait:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-bootwait>%s</%soem-bootwait>%s' % (namespace_, self.gds_format_boolean(oem_bootwait_, input_name='oem-bootwait'), namespace_, eol_))
|
|
for oem_device_filter_ in self.oem_device_filter:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-device-filter>%s</%soem-device-filter>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(oem_device_filter_), input_name='oem-device-filter')), namespace_, eol_))
|
|
for oem_inplace_recovery_ in self.oem_inplace_recovery:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-inplace-recovery>%s</%soem-inplace-recovery>%s' % (namespace_, self.gds_format_boolean(oem_inplace_recovery_, input_name='oem-inplace-recovery'), namespace_, eol_))
|
|
for oem_kiwi_initrd_ in self.oem_kiwi_initrd:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-kiwi-initrd>%s</%soem-kiwi-initrd>%s' % (namespace_, self.gds_format_boolean(oem_kiwi_initrd_, input_name='oem-kiwi-initrd'), namespace_, eol_))
|
|
for oem_multipath_scan_ in self.oem_multipath_scan:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-multipath-scan>%s</%soem-multipath-scan>%s' % (namespace_, self.gds_format_boolean(oem_multipath_scan_, input_name='oem-multipath-scan'), namespace_, eol_))
|
|
for oem_vmcp_parmfile_ in self.oem_vmcp_parmfile:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-vmcp-parmfile>%s</%soem-vmcp-parmfile>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(oem_vmcp_parmfile_), input_name='oem-vmcp-parmfile')), namespace_, eol_))
|
|
for oem_partition_install_ in self.oem_partition_install:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-partition-install>%s</%soem-partition-install>%s' % (namespace_, self.gds_format_boolean(oem_partition_install_, input_name='oem-partition-install'), namespace_, eol_))
|
|
for oem_reboot_ in self.oem_reboot:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-reboot>%s</%soem-reboot>%s' % (namespace_, self.gds_format_boolean(oem_reboot_, input_name='oem-reboot'), namespace_, eol_))
|
|
for oem_reboot_interactive_ in self.oem_reboot_interactive:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-reboot-interactive>%s</%soem-reboot-interactive>%s' % (namespace_, self.gds_format_boolean(oem_reboot_interactive_, input_name='oem-reboot-interactive'), namespace_, eol_))
|
|
for oem_recovery_ in self.oem_recovery:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-recovery>%s</%soem-recovery>%s' % (namespace_, self.gds_format_boolean(oem_recovery_, input_name='oem-recovery'), namespace_, eol_))
|
|
for oem_recoveryID_ in self.oem_recoveryID:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-recoveryID>%s</%soem-recoveryID>%s' % (namespace_, self.gds_format_integer(oem_recoveryID_, input_name='oem-recoveryID'), namespace_, eol_))
|
|
for oem_recovery_part_size_ in self.oem_recovery_part_size:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-recovery-part-size>%s</%soem-recovery-part-size>%s' % (namespace_, self.gds_format_integer(oem_recovery_part_size_, input_name='oem-recovery-part-size'), namespace_, eol_))
|
|
for oem_shutdown_ in self.oem_shutdown:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-shutdown>%s</%soem-shutdown>%s' % (namespace_, self.gds_format_boolean(oem_shutdown_, input_name='oem-shutdown'), namespace_, eol_))
|
|
for oem_shutdown_interactive_ in self.oem_shutdown_interactive:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-shutdown-interactive>%s</%soem-shutdown-interactive>%s' % (namespace_, self.gds_format_boolean(oem_shutdown_interactive_, input_name='oem-shutdown-interactive'), namespace_, eol_))
|
|
for oem_silent_boot_ in self.oem_silent_boot:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-silent-boot>%s</%soem-silent-boot>%s' % (namespace_, self.gds_format_boolean(oem_silent_boot_, input_name='oem-silent-boot'), namespace_, eol_))
|
|
for oem_silent_install_ in self.oem_silent_install:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-silent-install>%s</%soem-silent-install>%s' % (namespace_, self.gds_format_boolean(oem_silent_install_, input_name='oem-silent-install'), namespace_, eol_))
|
|
for oem_silent_verify_ in self.oem_silent_verify:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-silent-verify>%s</%soem-silent-verify>%s' % (namespace_, self.gds_format_boolean(oem_silent_verify_, input_name='oem-silent-verify'), namespace_, eol_))
|
|
for oem_skip_verify_ in self.oem_skip_verify:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-skip-verify>%s</%soem-skip-verify>%s' % (namespace_, self.gds_format_boolean(oem_skip_verify_, input_name='oem-skip-verify'), namespace_, eol_))
|
|
for oem_swap_ in self.oem_swap:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-swap>%s</%soem-swap>%s' % (namespace_, self.gds_format_boolean(oem_swap_, input_name='oem-swap'), namespace_, eol_))
|
|
for oem_swapsize_ in self.oem_swapsize:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-swapsize>%s</%soem-swapsize>%s' % (namespace_, self.gds_format_integer(oem_swapsize_, input_name='oem-swapsize'), namespace_, eol_))
|
|
for oem_systemsize_ in self.oem_systemsize:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-systemsize>%s</%soem-systemsize>%s' % (namespace_, self.gds_format_integer(oem_systemsize_, input_name='oem-systemsize'), namespace_, eol_))
|
|
for oem_unattended_ in self.oem_unattended:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-unattended>%s</%soem-unattended>%s' % (namespace_, self.gds_format_boolean(oem_unattended_, input_name='oem-unattended'), namespace_, eol_))
|
|
for oem_unattended_id_ in self.oem_unattended_id:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%soem-unattended-id>%s</%soem-unattended-id>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(oem_unattended_id_), input_name='oem-unattended-id')), namespace_, eol_))
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'oem-ataraid-scan':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_ataraid_scan')
|
|
self.oem_ataraid_scan.append(ival_)
|
|
elif nodeName_ == 'oem-boot-title':
|
|
oem_boot_title_ = child_.text
|
|
oem_boot_title_ = self.gds_validate_string(oem_boot_title_, node, 'oem_boot_title')
|
|
self.oem_boot_title.append(oem_boot_title_)
|
|
elif nodeName_ == 'oem-bootwait':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_bootwait')
|
|
self.oem_bootwait.append(ival_)
|
|
elif nodeName_ == 'oem-device-filter':
|
|
oem_device_filter_ = child_.text
|
|
oem_device_filter_ = self.gds_validate_string(oem_device_filter_, node, 'oem_device_filter')
|
|
self.oem_device_filter.append(oem_device_filter_)
|
|
elif nodeName_ == 'oem-inplace-recovery':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_inplace_recovery')
|
|
self.oem_inplace_recovery.append(ival_)
|
|
elif nodeName_ == 'oem-kiwi-initrd':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_kiwi_initrd')
|
|
self.oem_kiwi_initrd.append(ival_)
|
|
elif nodeName_ == 'oem-multipath-scan':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_multipath_scan')
|
|
self.oem_multipath_scan.append(ival_)
|
|
elif nodeName_ == 'oem-vmcp-parmfile':
|
|
oem_vmcp_parmfile_ = child_.text
|
|
oem_vmcp_parmfile_ = self.gds_validate_string(oem_vmcp_parmfile_, node, 'oem_vmcp_parmfile')
|
|
self.oem_vmcp_parmfile.append(oem_vmcp_parmfile_)
|
|
elif nodeName_ == 'oem-partition-install':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_partition_install')
|
|
self.oem_partition_install.append(ival_)
|
|
elif nodeName_ == 'oem-reboot':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_reboot')
|
|
self.oem_reboot.append(ival_)
|
|
elif nodeName_ == 'oem-reboot-interactive':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_reboot_interactive')
|
|
self.oem_reboot_interactive.append(ival_)
|
|
elif nodeName_ == 'oem-recovery':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_recovery')
|
|
self.oem_recovery.append(ival_)
|
|
elif nodeName_ == 'oem-recoveryID':
|
|
sval_ = child_.text
|
|
try:
|
|
ival_ = int(sval_)
|
|
except (TypeError, ValueError) as exp:
|
|
raise_parse_error(child_, 'requires integer: %s' % exp)
|
|
if ival_ < 0:
|
|
raise_parse_error(child_, 'requires nonNegativeInteger')
|
|
ival_ = self.gds_validate_integer(ival_, node, 'oem_recoveryID')
|
|
self.oem_recoveryID.append(ival_)
|
|
elif nodeName_ == 'oem-recovery-part-size':
|
|
sval_ = child_.text
|
|
try:
|
|
ival_ = int(sval_)
|
|
except (TypeError, ValueError) as exp:
|
|
raise_parse_error(child_, 'requires integer: %s' % exp)
|
|
if ival_ < 0:
|
|
raise_parse_error(child_, 'requires nonNegativeInteger')
|
|
ival_ = self.gds_validate_integer(ival_, node, 'oem_recovery_part_size')
|
|
self.oem_recovery_part_size.append(ival_)
|
|
elif nodeName_ == 'oem-shutdown':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_shutdown')
|
|
self.oem_shutdown.append(ival_)
|
|
elif nodeName_ == 'oem-shutdown-interactive':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_shutdown_interactive')
|
|
self.oem_shutdown_interactive.append(ival_)
|
|
elif nodeName_ == 'oem-silent-boot':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_silent_boot')
|
|
self.oem_silent_boot.append(ival_)
|
|
elif nodeName_ == 'oem-silent-install':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_silent_install')
|
|
self.oem_silent_install.append(ival_)
|
|
elif nodeName_ == 'oem-silent-verify':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_silent_verify')
|
|
self.oem_silent_verify.append(ival_)
|
|
elif nodeName_ == 'oem-skip-verify':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_skip_verify')
|
|
self.oem_skip_verify.append(ival_)
|
|
elif nodeName_ == 'oem-swap':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_swap')
|
|
self.oem_swap.append(ival_)
|
|
elif nodeName_ == 'oem-swapsize':
|
|
sval_ = child_.text
|
|
try:
|
|
ival_ = int(sval_)
|
|
except (TypeError, ValueError) as exp:
|
|
raise_parse_error(child_, 'requires integer: %s' % exp)
|
|
if ival_ < 0:
|
|
raise_parse_error(child_, 'requires nonNegativeInteger')
|
|
ival_ = self.gds_validate_integer(ival_, node, 'oem_swapsize')
|
|
self.oem_swapsize.append(ival_)
|
|
elif nodeName_ == 'oem-systemsize':
|
|
sval_ = child_.text
|
|
try:
|
|
ival_ = int(sval_)
|
|
except (TypeError, ValueError) as exp:
|
|
raise_parse_error(child_, 'requires integer: %s' % exp)
|
|
if ival_ < 0:
|
|
raise_parse_error(child_, 'requires nonNegativeInteger')
|
|
ival_ = self.gds_validate_integer(ival_, node, 'oem_systemsize')
|
|
self.oem_systemsize.append(ival_)
|
|
elif nodeName_ == 'oem-unattended':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'oem_unattended')
|
|
self.oem_unattended.append(ival_)
|
|
elif nodeName_ == 'oem-unattended-id':
|
|
oem_unattended_id_ = child_.text
|
|
oem_unattended_id_ = self.gds_validate_string(oem_unattended_id_, node, 'oem_unattended_id')
|
|
self.oem_unattended_id.append(oem_unattended_id_)
|
|
# end class oemconfig
|
|
|
|
|
|
class vagrantconfig(GeneratedsSuper):
|
|
"""Specifies the Vagrant configuration section"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, provider=None, virtualsize=None, boxname=None):
|
|
self.original_tagname_ = None
|
|
self.provider = _cast(None, provider)
|
|
self.virtualsize = _cast(int, virtualsize)
|
|
self.boxname = _cast(None, boxname)
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, vagrantconfig)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if vagrantconfig.subclass:
|
|
return vagrantconfig.subclass(*args_, **kwargs_)
|
|
else:
|
|
return vagrantconfig(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_provider(self): return self.provider
|
|
def set_provider(self, provider): self.provider = provider
|
|
def get_virtualsize(self): return self.virtualsize
|
|
def set_virtualsize(self, virtualsize): self.virtualsize = virtualsize
|
|
def get_boxname(self): return self.boxname
|
|
def set_boxname(self, boxname): self.boxname = boxname
|
|
def hasContent_(self):
|
|
if (
|
|
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='vagrantconfig', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='vagrantconfig')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='vagrantconfig', pretty_print=pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='vagrantconfig'):
|
|
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.virtualsize is not None and 'virtualsize' not in already_processed:
|
|
already_processed.add('virtualsize')
|
|
outfile.write(' virtualsize="%s"' % self.gds_format_integer(self.virtualsize, input_name='virtualsize'))
|
|
if self.boxname is not None and 'boxname' not in already_processed:
|
|
already_processed.add('boxname')
|
|
outfile.write(' boxname=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.boxname), input_name='boxname')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='vagrantconfig', fromsubclass_=False, pretty_print=True):
|
|
pass
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
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.provider = ' '.join(self.provider.split())
|
|
value = find_attr_value_('virtualsize', node)
|
|
if value is not None and 'virtualsize' not in already_processed:
|
|
already_processed.add('virtualsize')
|
|
try:
|
|
self.virtualsize = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.virtualsize < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('boxname', node)
|
|
if value is not None and 'boxname' not in already_processed:
|
|
already_processed.add('boxname')
|
|
self.boxname = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
pass
|
|
# end class vagrantconfig
|
|
|
|
|
|
class machine(GeneratedsSuper):
|
|
"""specifies the VM configuration sections"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, min_memory=None, max_memory=None, min_cpu=None, max_cpu=None, ovftype=None, HWversion=None, arch=None, domain=None, guestOS=None, memory=None, ncpus=None, vmconfig_entry=None, vmdisk=None, vmdvd=None, vmnic=None):
|
|
self.original_tagname_ = None
|
|
self.min_memory = _cast(int, min_memory)
|
|
self.max_memory = _cast(int, max_memory)
|
|
self.min_cpu = _cast(int, min_cpu)
|
|
self.max_cpu = _cast(int, max_cpu)
|
|
self.ovftype = _cast(None, ovftype)
|
|
self.HWversion = _cast(int, HWversion)
|
|
self.arch = _cast(None, arch)
|
|
self.domain = _cast(None, domain)
|
|
self.guestOS = _cast(None, guestOS)
|
|
self.memory = _cast(int, memory)
|
|
self.ncpus = _cast(int, ncpus)
|
|
if vmconfig_entry is None:
|
|
self.vmconfig_entry = []
|
|
else:
|
|
self.vmconfig_entry = vmconfig_entry
|
|
if vmdisk is None:
|
|
self.vmdisk = []
|
|
else:
|
|
self.vmdisk = vmdisk
|
|
if vmdvd is None:
|
|
self.vmdvd = []
|
|
else:
|
|
self.vmdvd = vmdvd
|
|
if vmnic is None:
|
|
self.vmnic = []
|
|
else:
|
|
self.vmnic = vmnic
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, machine)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if machine.subclass:
|
|
return machine.subclass(*args_, **kwargs_)
|
|
else:
|
|
return machine(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_vmconfig_entry(self): return self.vmconfig_entry
|
|
def set_vmconfig_entry(self, vmconfig_entry): self.vmconfig_entry = vmconfig_entry
|
|
def add_vmconfig_entry(self, value): self.vmconfig_entry.append(value)
|
|
def insert_vmconfig_entry_at(self, index, value): self.vmconfig_entry.insert(index, value)
|
|
def replace_vmconfig_entry_at(self, index, value): self.vmconfig_entry[index] = value
|
|
def get_vmdisk(self): return self.vmdisk
|
|
def set_vmdisk(self, vmdisk): self.vmdisk = vmdisk
|
|
def add_vmdisk(self, value): self.vmdisk.append(value)
|
|
def insert_vmdisk_at(self, index, value): self.vmdisk.insert(index, value)
|
|
def replace_vmdisk_at(self, index, value): self.vmdisk[index] = value
|
|
def get_vmdvd(self): return self.vmdvd
|
|
def set_vmdvd(self, vmdvd): self.vmdvd = vmdvd
|
|
def add_vmdvd(self, value): self.vmdvd.append(value)
|
|
def insert_vmdvd_at(self, index, value): self.vmdvd.insert(index, value)
|
|
def replace_vmdvd_at(self, index, value): self.vmdvd[index] = value
|
|
def get_vmnic(self): return self.vmnic
|
|
def set_vmnic(self, vmnic): self.vmnic = vmnic
|
|
def add_vmnic(self, value): self.vmnic.append(value)
|
|
def insert_vmnic_at(self, index, value): self.vmnic.insert(index, value)
|
|
def replace_vmnic_at(self, index, value): self.vmnic[index] = value
|
|
def get_min_memory(self): return self.min_memory
|
|
def set_min_memory(self, min_memory): self.min_memory = min_memory
|
|
def get_max_memory(self): return self.max_memory
|
|
def set_max_memory(self, max_memory): self.max_memory = max_memory
|
|
def get_min_cpu(self): return self.min_cpu
|
|
def set_min_cpu(self, min_cpu): self.min_cpu = min_cpu
|
|
def get_max_cpu(self): return self.max_cpu
|
|
def set_max_cpu(self, max_cpu): self.max_cpu = max_cpu
|
|
def get_ovftype(self): return self.ovftype
|
|
def set_ovftype(self, ovftype): self.ovftype = ovftype
|
|
def get_HWversion(self): return self.HWversion
|
|
def set_HWversion(self, HWversion): self.HWversion = HWversion
|
|
def get_arch(self): return self.arch
|
|
def set_arch(self, arch): self.arch = arch
|
|
def get_domain(self): return self.domain
|
|
def set_domain(self, domain): self.domain = domain
|
|
def get_guestOS(self): return self.guestOS
|
|
def set_guestOS(self, guestOS): self.guestOS = guestOS
|
|
def get_memory(self): return self.memory
|
|
def set_memory(self, memory): self.memory = memory
|
|
def get_ncpus(self): return self.ncpus
|
|
def set_ncpus(self, ncpus): self.ncpus = ncpus
|
|
def hasContent_(self):
|
|
if (
|
|
self.vmconfig_entry or
|
|
self.vmdisk or
|
|
self.vmdvd or
|
|
self.vmnic
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='machine', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='machine')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='machine', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='machine'):
|
|
if self.min_memory is not None and 'min_memory' not in already_processed:
|
|
already_processed.add('min_memory')
|
|
outfile.write(' min_memory="%s"' % self.gds_format_integer(self.min_memory, input_name='min_memory'))
|
|
if self.max_memory is not None and 'max_memory' not in already_processed:
|
|
already_processed.add('max_memory')
|
|
outfile.write(' max_memory="%s"' % self.gds_format_integer(self.max_memory, input_name='max_memory'))
|
|
if self.min_cpu is not None and 'min_cpu' not in already_processed:
|
|
already_processed.add('min_cpu')
|
|
outfile.write(' min_cpu="%s"' % self.gds_format_integer(self.min_cpu, input_name='min_cpu'))
|
|
if self.max_cpu is not None and 'max_cpu' not in already_processed:
|
|
already_processed.add('max_cpu')
|
|
outfile.write(' max_cpu="%s"' % self.gds_format_integer(self.max_cpu, input_name='max_cpu'))
|
|
if self.ovftype is not None and 'ovftype' not in already_processed:
|
|
already_processed.add('ovftype')
|
|
outfile.write(' ovftype=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.ovftype), input_name='ovftype')), ))
|
|
if self.HWversion is not None and 'HWversion' not in already_processed:
|
|
already_processed.add('HWversion')
|
|
outfile.write(' HWversion="%s"' % self.gds_format_integer(self.HWversion, input_name='HWversion'))
|
|
if self.arch is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
outfile.write(' arch=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.arch), input_name='arch')), ))
|
|
if self.domain is not None and 'domain' not in already_processed:
|
|
already_processed.add('domain')
|
|
outfile.write(' domain=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.domain), input_name='domain')), ))
|
|
if self.guestOS is not None and 'guestOS' not in already_processed:
|
|
already_processed.add('guestOS')
|
|
outfile.write(' guestOS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.guestOS), input_name='guestOS')), ))
|
|
if self.memory is not None and 'memory' not in already_processed:
|
|
already_processed.add('memory')
|
|
outfile.write(' memory="%s"' % self.gds_format_integer(self.memory, input_name='memory'))
|
|
if self.ncpus is not None and 'ncpus' not in already_processed:
|
|
already_processed.add('ncpus')
|
|
outfile.write(' ncpus="%s"' % self.gds_format_integer(self.ncpus, input_name='ncpus'))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='machine', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for vmconfig_entry_ in self.vmconfig_entry:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%svmconfig-entry>%s</%svmconfig-entry>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(vmconfig_entry_), input_name='vmconfig-entry')), namespace_, eol_))
|
|
for vmdisk_ in self.vmdisk:
|
|
vmdisk_.export(outfile, level, namespace_, name_='vmdisk', pretty_print=pretty_print)
|
|
for vmdvd_ in self.vmdvd:
|
|
vmdvd_.export(outfile, level, namespace_, name_='vmdvd', pretty_print=pretty_print)
|
|
for vmnic_ in self.vmnic:
|
|
vmnic_.export(outfile, level, namespace_, name_='vmnic', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('min_memory', node)
|
|
if value is not None and 'min_memory' not in already_processed:
|
|
already_processed.add('min_memory')
|
|
try:
|
|
self.min_memory = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.min_memory < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('max_memory', node)
|
|
if value is not None and 'max_memory' not in already_processed:
|
|
already_processed.add('max_memory')
|
|
try:
|
|
self.max_memory = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.max_memory < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('min_cpu', node)
|
|
if value is not None and 'min_cpu' not in already_processed:
|
|
already_processed.add('min_cpu')
|
|
try:
|
|
self.min_cpu = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.min_cpu < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('max_cpu', node)
|
|
if value is not None and 'max_cpu' not in already_processed:
|
|
already_processed.add('max_cpu')
|
|
try:
|
|
self.max_cpu = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.max_cpu < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('ovftype', node)
|
|
if value is not None and 'ovftype' not in already_processed:
|
|
already_processed.add('ovftype')
|
|
self.ovftype = value
|
|
self.ovftype = ' '.join(self.ovftype.split())
|
|
value = find_attr_value_('HWversion', node)
|
|
if value is not None and 'HWversion' not in already_processed:
|
|
already_processed.add('HWversion')
|
|
try:
|
|
self.HWversion = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
value = find_attr_value_('arch', node)
|
|
if value is not None and 'arch' not in already_processed:
|
|
already_processed.add('arch')
|
|
self.arch = value
|
|
self.arch = ' '.join(self.arch.split())
|
|
value = find_attr_value_('domain', node)
|
|
if value is not None and 'domain' not in already_processed:
|
|
already_processed.add('domain')
|
|
self.domain = value
|
|
self.domain = ' '.join(self.domain.split())
|
|
value = find_attr_value_('guestOS', node)
|
|
if value is not None and 'guestOS' not in already_processed:
|
|
already_processed.add('guestOS')
|
|
self.guestOS = value
|
|
value = find_attr_value_('memory', node)
|
|
if value is not None and 'memory' not in already_processed:
|
|
already_processed.add('memory')
|
|
try:
|
|
self.memory = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.memory < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
value = find_attr_value_('ncpus', node)
|
|
if value is not None and 'ncpus' not in already_processed:
|
|
already_processed.add('ncpus')
|
|
try:
|
|
self.ncpus = int(value)
|
|
except ValueError as exp:
|
|
raise_parse_error(node, 'Bad integer attribute: %s' % exp)
|
|
if self.ncpus < 0:
|
|
raise_parse_error(node, 'Invalid NonNegativeInteger')
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'vmconfig-entry':
|
|
vmconfig_entry_ = child_.text
|
|
vmconfig_entry_ = self.gds_validate_string(vmconfig_entry_, node, 'vmconfig_entry')
|
|
self.vmconfig_entry.append(vmconfig_entry_)
|
|
elif nodeName_ == 'vmdisk':
|
|
obj_ = vmdisk.factory()
|
|
obj_.build(child_)
|
|
self.vmdisk.append(obj_)
|
|
obj_.original_tagname_ = 'vmdisk'
|
|
elif nodeName_ == 'vmdvd':
|
|
obj_ = vmdvd.factory()
|
|
obj_.build(child_)
|
|
self.vmdvd.append(obj_)
|
|
obj_.original_tagname_ = 'vmdvd'
|
|
elif nodeName_ == 'vmnic':
|
|
obj_ = vmnic.factory()
|
|
obj_.build(child_)
|
|
self.vmnic.append(obj_)
|
|
obj_.original_tagname_ = 'vmnic'
|
|
# end class machine
|
|
|
|
|
|
class packages(GeneratedsSuper):
|
|
"""Specifies Packages/Patterns Used in Different Stages"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, type_=None, profiles=None, patternType=None, archive=None, ignore=None, namedCollection=None, product=None, package=None):
|
|
self.original_tagname_ = None
|
|
self.type_ = _cast(None, type_)
|
|
self.profiles = _cast(None, profiles)
|
|
self.patternType = _cast(None, patternType)
|
|
if archive is None:
|
|
self.archive = []
|
|
else:
|
|
self.archive = archive
|
|
if ignore is None:
|
|
self.ignore = []
|
|
else:
|
|
self.ignore = ignore
|
|
if namedCollection is None:
|
|
self.namedCollection = []
|
|
else:
|
|
self.namedCollection = namedCollection
|
|
if product is None:
|
|
self.product = []
|
|
else:
|
|
self.product = product
|
|
if package is None:
|
|
self.package = []
|
|
else:
|
|
self.package = package
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, packages)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if packages.subclass:
|
|
return packages.subclass(*args_, **kwargs_)
|
|
else:
|
|
return packages(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_archive(self): return self.archive
|
|
def set_archive(self, archive): self.archive = archive
|
|
def add_archive(self, value): self.archive.append(value)
|
|
def insert_archive_at(self, index, value): self.archive.insert(index, value)
|
|
def replace_archive_at(self, index, value): self.archive[index] = value
|
|
def get_ignore(self): return self.ignore
|
|
def set_ignore(self, ignore): self.ignore = ignore
|
|
def add_ignore(self, value): self.ignore.append(value)
|
|
def insert_ignore_at(self, index, value): self.ignore.insert(index, value)
|
|
def replace_ignore_at(self, index, value): self.ignore[index] = value
|
|
def get_namedCollection(self): return self.namedCollection
|
|
def set_namedCollection(self, namedCollection): self.namedCollection = namedCollection
|
|
def add_namedCollection(self, value): self.namedCollection.append(value)
|
|
def insert_namedCollection_at(self, index, value): self.namedCollection.insert(index, value)
|
|
def replace_namedCollection_at(self, index, value): self.namedCollection[index] = value
|
|
def get_product(self): return self.product
|
|
def set_product(self, product): self.product = product
|
|
def add_product(self, value): self.product.append(value)
|
|
def insert_product_at(self, index, value): self.product.insert(index, value)
|
|
def replace_product_at(self, index, value): self.product[index] = value
|
|
def get_package(self): return self.package
|
|
def set_package(self, package): self.package = package
|
|
def add_package(self, value): self.package.append(value)
|
|
def insert_package_at(self, index, value): self.package.insert(index, value)
|
|
def replace_package_at(self, index, value): self.package[index] = value
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def get_patternType(self): return self.patternType
|
|
def set_patternType(self, patternType): self.patternType = patternType
|
|
def hasContent_(self):
|
|
if (
|
|
self.archive or
|
|
self.ignore or
|
|
self.namedCollection or
|
|
self.product or
|
|
self.package
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='packages', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='packages')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='packages', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='packages'):
|
|
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.profiles is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
|
|
if self.patternType is not None and 'patternType' not in already_processed:
|
|
already_processed.add('patternType')
|
|
outfile.write(' patternType=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.patternType), input_name='patternType')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='packages', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for archive_ in self.archive:
|
|
archive_.export(outfile, level, namespace_, name_='archive', pretty_print=pretty_print)
|
|
for ignore_ in self.ignore:
|
|
ignore_.export(outfile, level, namespace_, name_='ignore', pretty_print=pretty_print)
|
|
for namedCollection_ in self.namedCollection:
|
|
namedCollection_.export(outfile, level, namespace_, name_='namedCollection', pretty_print=pretty_print)
|
|
for product_ in self.product:
|
|
product_.export(outfile, level, namespace_, name_='product', pretty_print=pretty_print)
|
|
for package_ in self.package:
|
|
package_.export(outfile, level, namespace_, name_='package', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
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.type_ = ' '.join(self.type_.split())
|
|
value = find_attr_value_('profiles', node)
|
|
if value is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
self.profiles = value
|
|
value = find_attr_value_('patternType', node)
|
|
if value is not None and 'patternType' not in already_processed:
|
|
already_processed.add('patternType')
|
|
self.patternType = value
|
|
self.patternType = ' '.join(self.patternType.split())
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'archive':
|
|
obj_ = archive.factory()
|
|
obj_.build(child_)
|
|
self.archive.append(obj_)
|
|
obj_.original_tagname_ = 'archive'
|
|
elif nodeName_ == 'ignore':
|
|
obj_ = ignore.factory()
|
|
obj_.build(child_)
|
|
self.ignore.append(obj_)
|
|
obj_.original_tagname_ = 'ignore'
|
|
elif nodeName_ == 'namedCollection':
|
|
obj_ = namedCollection.factory()
|
|
obj_.build(child_)
|
|
self.namedCollection.append(obj_)
|
|
obj_.original_tagname_ = 'namedCollection'
|
|
elif nodeName_ == 'product':
|
|
obj_ = product.factory()
|
|
obj_.build(child_)
|
|
self.product.append(obj_)
|
|
obj_.original_tagname_ = 'product'
|
|
elif nodeName_ == 'package':
|
|
obj_ = package.factory()
|
|
obj_.build(child_)
|
|
self.package.append(obj_)
|
|
obj_.original_tagname_ = 'package'
|
|
# end class packages
|
|
|
|
|
|
class preferences(GeneratedsSuper):
|
|
"""Configuration Information Needed for Logical Extend"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, profiles=None, bootsplash_theme=None, bootloader_theme=None, defaultdestination=None, defaultprebuilt=None, defaultroot=None, hwclock=None, keytable=None, locale=None, packagemanager=None, partitioner=None, rpm_check_signatures=None, rpm_excludedocs=None, rpm_force=None, showlicense=None, timezone=None, type_=None, version=None):
|
|
self.original_tagname_ = None
|
|
self.profiles = _cast(None, profiles)
|
|
if bootsplash_theme is None:
|
|
self.bootsplash_theme = []
|
|
else:
|
|
self.bootsplash_theme = bootsplash_theme
|
|
if bootloader_theme is None:
|
|
self.bootloader_theme = []
|
|
else:
|
|
self.bootloader_theme = bootloader_theme
|
|
if defaultdestination is None:
|
|
self.defaultdestination = []
|
|
else:
|
|
self.defaultdestination = defaultdestination
|
|
if defaultprebuilt is None:
|
|
self.defaultprebuilt = []
|
|
else:
|
|
self.defaultprebuilt = defaultprebuilt
|
|
if defaultroot is None:
|
|
self.defaultroot = []
|
|
else:
|
|
self.defaultroot = defaultroot
|
|
if hwclock is None:
|
|
self.hwclock = []
|
|
else:
|
|
self.hwclock = hwclock
|
|
if keytable is None:
|
|
self.keytable = []
|
|
else:
|
|
self.keytable = keytable
|
|
if locale is None:
|
|
self.locale = []
|
|
else:
|
|
self.locale = locale
|
|
if packagemanager is None:
|
|
self.packagemanager = []
|
|
else:
|
|
self.packagemanager = packagemanager
|
|
if partitioner is None:
|
|
self.partitioner = []
|
|
else:
|
|
self.partitioner = partitioner
|
|
if rpm_check_signatures is None:
|
|
self.rpm_check_signatures = []
|
|
else:
|
|
self.rpm_check_signatures = rpm_check_signatures
|
|
if rpm_excludedocs is None:
|
|
self.rpm_excludedocs = []
|
|
else:
|
|
self.rpm_excludedocs = rpm_excludedocs
|
|
if rpm_force is None:
|
|
self.rpm_force = []
|
|
else:
|
|
self.rpm_force = rpm_force
|
|
if showlicense is None:
|
|
self.showlicense = []
|
|
else:
|
|
self.showlicense = showlicense
|
|
if timezone is None:
|
|
self.timezone = []
|
|
else:
|
|
self.timezone = timezone
|
|
if type_ is None:
|
|
self.type_ = []
|
|
else:
|
|
self.type_ = type_
|
|
if version is None:
|
|
self.version = []
|
|
else:
|
|
self.version = version
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, preferences)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if preferences.subclass:
|
|
return preferences.subclass(*args_, **kwargs_)
|
|
else:
|
|
return preferences(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_bootsplash_theme(self): return self.bootsplash_theme
|
|
def set_bootsplash_theme(self, bootsplash_theme): self.bootsplash_theme = bootsplash_theme
|
|
def add_bootsplash_theme(self, value): self.bootsplash_theme.append(value)
|
|
def insert_bootsplash_theme_at(self, index, value): self.bootsplash_theme.insert(index, value)
|
|
def replace_bootsplash_theme_at(self, index, value): self.bootsplash_theme[index] = value
|
|
def get_bootloader_theme(self): return self.bootloader_theme
|
|
def set_bootloader_theme(self, bootloader_theme): self.bootloader_theme = bootloader_theme
|
|
def add_bootloader_theme(self, value): self.bootloader_theme.append(value)
|
|
def insert_bootloader_theme_at(self, index, value): self.bootloader_theme.insert(index, value)
|
|
def replace_bootloader_theme_at(self, index, value): self.bootloader_theme[index] = value
|
|
def get_defaultdestination(self): return self.defaultdestination
|
|
def set_defaultdestination(self, defaultdestination): self.defaultdestination = defaultdestination
|
|
def add_defaultdestination(self, value): self.defaultdestination.append(value)
|
|
def insert_defaultdestination_at(self, index, value): self.defaultdestination.insert(index, value)
|
|
def replace_defaultdestination_at(self, index, value): self.defaultdestination[index] = value
|
|
def get_defaultprebuilt(self): return self.defaultprebuilt
|
|
def set_defaultprebuilt(self, defaultprebuilt): self.defaultprebuilt = defaultprebuilt
|
|
def add_defaultprebuilt(self, value): self.defaultprebuilt.append(value)
|
|
def insert_defaultprebuilt_at(self, index, value): self.defaultprebuilt.insert(index, value)
|
|
def replace_defaultprebuilt_at(self, index, value): self.defaultprebuilt[index] = value
|
|
def get_defaultroot(self): return self.defaultroot
|
|
def set_defaultroot(self, defaultroot): self.defaultroot = defaultroot
|
|
def add_defaultroot(self, value): self.defaultroot.append(value)
|
|
def insert_defaultroot_at(self, index, value): self.defaultroot.insert(index, value)
|
|
def replace_defaultroot_at(self, index, value): self.defaultroot[index] = value
|
|
def get_hwclock(self): return self.hwclock
|
|
def set_hwclock(self, hwclock): self.hwclock = hwclock
|
|
def add_hwclock(self, value): self.hwclock.append(value)
|
|
def insert_hwclock_at(self, index, value): self.hwclock.insert(index, value)
|
|
def replace_hwclock_at(self, index, value): self.hwclock[index] = value
|
|
def get_keytable(self): return self.keytable
|
|
def set_keytable(self, keytable): self.keytable = keytable
|
|
def add_keytable(self, value): self.keytable.append(value)
|
|
def insert_keytable_at(self, index, value): self.keytable.insert(index, value)
|
|
def replace_keytable_at(self, index, value): self.keytable[index] = value
|
|
def get_locale(self): return self.locale
|
|
def set_locale(self, locale): self.locale = locale
|
|
def add_locale(self, value): self.locale.append(value)
|
|
def insert_locale_at(self, index, value): self.locale.insert(index, value)
|
|
def replace_locale_at(self, index, value): self.locale[index] = value
|
|
def get_packagemanager(self): return self.packagemanager
|
|
def set_packagemanager(self, packagemanager): self.packagemanager = packagemanager
|
|
def add_packagemanager(self, value): self.packagemanager.append(value)
|
|
def insert_packagemanager_at(self, index, value): self.packagemanager.insert(index, value)
|
|
def replace_packagemanager_at(self, index, value): self.packagemanager[index] = value
|
|
def get_partitioner(self): return self.partitioner
|
|
def set_partitioner(self, partitioner): self.partitioner = partitioner
|
|
def add_partitioner(self, value): self.partitioner.append(value)
|
|
def insert_partitioner_at(self, index, value): self.partitioner.insert(index, value)
|
|
def replace_partitioner_at(self, index, value): self.partitioner[index] = value
|
|
def get_rpm_check_signatures(self): return self.rpm_check_signatures
|
|
def set_rpm_check_signatures(self, rpm_check_signatures): self.rpm_check_signatures = rpm_check_signatures
|
|
def add_rpm_check_signatures(self, value): self.rpm_check_signatures.append(value)
|
|
def insert_rpm_check_signatures_at(self, index, value): self.rpm_check_signatures.insert(index, value)
|
|
def replace_rpm_check_signatures_at(self, index, value): self.rpm_check_signatures[index] = value
|
|
def get_rpm_excludedocs(self): return self.rpm_excludedocs
|
|
def set_rpm_excludedocs(self, rpm_excludedocs): self.rpm_excludedocs = rpm_excludedocs
|
|
def add_rpm_excludedocs(self, value): self.rpm_excludedocs.append(value)
|
|
def insert_rpm_excludedocs_at(self, index, value): self.rpm_excludedocs.insert(index, value)
|
|
def replace_rpm_excludedocs_at(self, index, value): self.rpm_excludedocs[index] = value
|
|
def get_rpm_force(self): return self.rpm_force
|
|
def set_rpm_force(self, rpm_force): self.rpm_force = rpm_force
|
|
def add_rpm_force(self, value): self.rpm_force.append(value)
|
|
def insert_rpm_force_at(self, index, value): self.rpm_force.insert(index, value)
|
|
def replace_rpm_force_at(self, index, value): self.rpm_force[index] = value
|
|
def get_showlicense(self): return self.showlicense
|
|
def set_showlicense(self, showlicense): self.showlicense = showlicense
|
|
def add_showlicense(self, value): self.showlicense.append(value)
|
|
def insert_showlicense_at(self, index, value): self.showlicense.insert(index, value)
|
|
def replace_showlicense_at(self, index, value): self.showlicense[index] = value
|
|
def get_timezone(self): return self.timezone
|
|
def set_timezone(self, timezone): self.timezone = timezone
|
|
def add_timezone(self, value): self.timezone.append(value)
|
|
def insert_timezone_at(self, index, value): self.timezone.insert(index, value)
|
|
def replace_timezone_at(self, index, value): self.timezone[index] = value
|
|
def get_type(self): return self.type_
|
|
def set_type(self, type_): self.type_ = type_
|
|
def add_type(self, value): self.type_.append(value)
|
|
def insert_type_at(self, index, value): self.type_.insert(index, value)
|
|
def replace_type_at(self, index, value): self.type_[index] = value
|
|
def get_version(self): return self.version
|
|
def set_version(self, version): self.version = version
|
|
def add_version(self, value): self.version.append(value)
|
|
def insert_version_at(self, index, value): self.version.insert(index, value)
|
|
def replace_version_at(self, index, value): self.version[index] = value
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def hasContent_(self):
|
|
if (
|
|
self.bootsplash_theme or
|
|
self.bootloader_theme or
|
|
self.defaultdestination or
|
|
self.defaultprebuilt or
|
|
self.defaultroot or
|
|
self.hwclock or
|
|
self.keytable or
|
|
self.locale or
|
|
self.packagemanager or
|
|
self.partitioner or
|
|
self.rpm_check_signatures or
|
|
self.rpm_excludedocs or
|
|
self.rpm_force or
|
|
self.showlicense or
|
|
self.timezone or
|
|
self.type_ or
|
|
self.version
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='preferences', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='preferences')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='preferences', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='preferences'):
|
|
if self.profiles is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='preferences', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for bootsplash_theme_ in self.bootsplash_theme:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sbootsplash-theme>%s</%sbootsplash-theme>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(bootsplash_theme_), input_name='bootsplash-theme')), namespace_, eol_))
|
|
for bootloader_theme_ in self.bootloader_theme:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sbootloader-theme>%s</%sbootloader-theme>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(bootloader_theme_), input_name='bootloader-theme')), namespace_, eol_))
|
|
for defaultdestination_ in self.defaultdestination:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sdefaultdestination>%s</%sdefaultdestination>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(defaultdestination_), input_name='defaultdestination')), namespace_, eol_))
|
|
for defaultprebuilt_ in self.defaultprebuilt:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sdefaultprebuilt>%s</%sdefaultprebuilt>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(defaultprebuilt_), input_name='defaultprebuilt')), namespace_, eol_))
|
|
for defaultroot_ in self.defaultroot:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sdefaultroot>%s</%sdefaultroot>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(defaultroot_), input_name='defaultroot')), namespace_, eol_))
|
|
for hwclock_ in self.hwclock:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%shwclock>%s</%shwclock>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(hwclock_), input_name='hwclock')), namespace_, eol_))
|
|
for keytable_ in self.keytable:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%skeytable>%s</%skeytable>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(keytable_), input_name='keytable')), namespace_, eol_))
|
|
for locale_ in self.locale:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%slocale>%s</%slocale>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(locale_), input_name='locale')), namespace_, eol_))
|
|
for packagemanager_ in self.packagemanager:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%spackagemanager>%s</%spackagemanager>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(packagemanager_), input_name='packagemanager')), namespace_, eol_))
|
|
for partitioner_ in self.partitioner:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%spartitioner>%s</%spartitioner>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(partitioner_), input_name='partitioner')), namespace_, eol_))
|
|
for rpm_check_signatures_ in self.rpm_check_signatures:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%srpm-check-signatures>%s</%srpm-check-signatures>%s' % (namespace_, self.gds_format_boolean(rpm_check_signatures_, input_name='rpm-check-signatures'), namespace_, eol_))
|
|
for rpm_excludedocs_ in self.rpm_excludedocs:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%srpm-excludedocs>%s</%srpm-excludedocs>%s' % (namespace_, self.gds_format_boolean(rpm_excludedocs_, input_name='rpm-excludedocs'), namespace_, eol_))
|
|
for rpm_force_ in self.rpm_force:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%srpm-force>%s</%srpm-force>%s' % (namespace_, self.gds_format_boolean(rpm_force_, input_name='rpm-force'), namespace_, eol_))
|
|
for showlicense_ in self.showlicense:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sshowlicense>%s</%sshowlicense>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(showlicense_), input_name='showlicense')), namespace_, eol_))
|
|
for timezone_ in self.timezone:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%stimezone>%s</%stimezone>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(timezone_), input_name='timezone')), namespace_, eol_))
|
|
for type_ in self.type_:
|
|
type_.export(outfile, level, namespace_, name_='type', pretty_print=pretty_print)
|
|
for version_ in self.version:
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%sversion>%s</%sversion>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(version_), input_name='version')), namespace_, eol_))
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('profiles', node)
|
|
if value is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
self.profiles = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'bootsplash-theme':
|
|
bootsplash_theme_ = child_.text
|
|
bootsplash_theme_ = self.gds_validate_string(bootsplash_theme_, node, 'bootsplash_theme')
|
|
self.bootsplash_theme.append(bootsplash_theme_)
|
|
elif nodeName_ == 'bootloader-theme':
|
|
bootloader_theme_ = child_.text
|
|
bootloader_theme_ = self.gds_validate_string(bootloader_theme_, node, 'bootloader_theme')
|
|
self.bootloader_theme.append(bootloader_theme_)
|
|
elif nodeName_ == 'defaultdestination':
|
|
defaultdestination_ = child_.text
|
|
defaultdestination_ = self.gds_validate_string(defaultdestination_, node, 'defaultdestination')
|
|
self.defaultdestination.append(defaultdestination_)
|
|
elif nodeName_ == 'defaultprebuilt':
|
|
defaultprebuilt_ = child_.text
|
|
defaultprebuilt_ = self.gds_validate_string(defaultprebuilt_, node, 'defaultprebuilt')
|
|
self.defaultprebuilt.append(defaultprebuilt_)
|
|
elif nodeName_ == 'defaultroot':
|
|
defaultroot_ = child_.text
|
|
defaultroot_ = self.gds_validate_string(defaultroot_, node, 'defaultroot')
|
|
self.defaultroot.append(defaultroot_)
|
|
elif nodeName_ == 'hwclock':
|
|
hwclock_ = child_.text
|
|
if hwclock_:
|
|
hwclock_ = re_.sub(String_cleanup_pat_, " ", hwclock_).strip()
|
|
else:
|
|
hwclock_ = ""
|
|
hwclock_ = self.gds_validate_string(hwclock_, node, 'hwclock')
|
|
self.hwclock.append(hwclock_)
|
|
elif nodeName_ == 'keytable':
|
|
keytable_ = child_.text
|
|
keytable_ = self.gds_validate_string(keytable_, node, 'keytable')
|
|
self.keytable.append(keytable_)
|
|
elif nodeName_ == 'locale':
|
|
locale_ = child_.text
|
|
if locale_:
|
|
locale_ = re_.sub(String_cleanup_pat_, " ", locale_).strip()
|
|
else:
|
|
locale_ = ""
|
|
locale_ = self.gds_validate_string(locale_, node, 'locale')
|
|
self.locale.append(locale_)
|
|
elif nodeName_ == 'packagemanager':
|
|
packagemanager_ = child_.text
|
|
if packagemanager_:
|
|
packagemanager_ = re_.sub(String_cleanup_pat_, " ", packagemanager_).strip()
|
|
else:
|
|
packagemanager_ = ""
|
|
packagemanager_ = self.gds_validate_string(packagemanager_, node, 'packagemanager')
|
|
self.packagemanager.append(packagemanager_)
|
|
elif nodeName_ == 'partitioner':
|
|
partitioner_ = child_.text
|
|
if partitioner_:
|
|
partitioner_ = re_.sub(String_cleanup_pat_, " ", partitioner_).strip()
|
|
else:
|
|
partitioner_ = ""
|
|
partitioner_ = self.gds_validate_string(partitioner_, node, 'partitioner')
|
|
self.partitioner.append(partitioner_)
|
|
elif nodeName_ == 'rpm-check-signatures':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'rpm_check_signatures')
|
|
self.rpm_check_signatures.append(ival_)
|
|
elif nodeName_ == 'rpm-excludedocs':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'rpm_excludedocs')
|
|
self.rpm_excludedocs.append(ival_)
|
|
elif nodeName_ == 'rpm-force':
|
|
sval_ = child_.text
|
|
if sval_ in ('true', '1'):
|
|
ival_ = True
|
|
elif sval_ in ('false', '0'):
|
|
ival_ = False
|
|
else:
|
|
raise_parse_error(child_, 'requires boolean')
|
|
ival_ = self.gds_validate_boolean(ival_, node, 'rpm_force')
|
|
self.rpm_force.append(ival_)
|
|
elif nodeName_ == 'showlicense':
|
|
showlicense_ = child_.text
|
|
showlicense_ = self.gds_validate_string(showlicense_, node, 'showlicense')
|
|
self.showlicense.append(showlicense_)
|
|
elif nodeName_ == 'timezone':
|
|
timezone_ = child_.text
|
|
timezone_ = self.gds_validate_string(timezone_, node, 'timezone')
|
|
self.timezone.append(timezone_)
|
|
elif nodeName_ == 'type':
|
|
obj_ = type_.factory()
|
|
obj_.build(child_)
|
|
self.type_.append(obj_)
|
|
obj_.original_tagname_ = 'type'
|
|
elif nodeName_ == 'version':
|
|
version_ = child_.text
|
|
version_ = self.gds_validate_string(version_, node, 'version')
|
|
self.version.append(version_)
|
|
# end class preferences
|
|
|
|
|
|
class profiles(GeneratedsSuper):
|
|
"""Creates Namespace Section for Drivers"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, profile=None):
|
|
self.original_tagname_ = None
|
|
if profile is None:
|
|
self.profile = []
|
|
else:
|
|
self.profile = profile
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, profiles)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if profiles.subclass:
|
|
return profiles.subclass(*args_, **kwargs_)
|
|
else:
|
|
return profiles(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_profile(self): return self.profile
|
|
def set_profile(self, profile): self.profile = profile
|
|
def add_profile(self, value): self.profile.append(value)
|
|
def insert_profile_at(self, index, value): self.profile.insert(index, value)
|
|
def replace_profile_at(self, index, value): self.profile[index] = value
|
|
def hasContent_(self):
|
|
if (
|
|
self.profile
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='profiles', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='profiles')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='profiles', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='profiles'):
|
|
pass
|
|
def exportChildren(self, outfile, level, namespace_='', name_='profiles', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for profile_ in self.profile:
|
|
profile_.export(outfile, level, namespace_, name_='profile', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
pass
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'profile':
|
|
obj_ = profile.factory()
|
|
obj_.build(child_)
|
|
self.profile.append(obj_)
|
|
obj_.original_tagname_ = 'profile'
|
|
# end class profiles
|
|
|
|
|
|
class users(GeneratedsSuper):
|
|
"""A List of Users"""
|
|
subclass = None
|
|
superclass = None
|
|
def __init__(self, profiles=None, user=None):
|
|
self.original_tagname_ = None
|
|
self.profiles = _cast(None, profiles)
|
|
if user is None:
|
|
self.user = []
|
|
else:
|
|
self.user = user
|
|
def factory(*args_, **kwargs_):
|
|
if CurrentSubclassModule_ is not None:
|
|
subclass = getSubclassFromModule_(
|
|
CurrentSubclassModule_, users)
|
|
if subclass is not None:
|
|
return subclass(*args_, **kwargs_)
|
|
if users.subclass:
|
|
return users.subclass(*args_, **kwargs_)
|
|
else:
|
|
return users(*args_, **kwargs_)
|
|
factory = staticmethod(factory)
|
|
def get_user(self): return self.user
|
|
def set_user(self, user): self.user = user
|
|
def add_user(self, value): self.user.append(value)
|
|
def insert_user_at(self, index, value): self.user.insert(index, value)
|
|
def replace_user_at(self, index, value): self.user[index] = value
|
|
def get_profiles(self): return self.profiles
|
|
def set_profiles(self, profiles): self.profiles = profiles
|
|
def hasContent_(self):
|
|
if (
|
|
self.user
|
|
):
|
|
return True
|
|
else:
|
|
return False
|
|
def export(self, outfile, level, namespace_='', name_='users', namespacedef_='', pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
if self.original_tagname_ is not None:
|
|
name_ = self.original_tagname_
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('<%s%s%s' % (namespace_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
|
|
already_processed = set()
|
|
self.exportAttributes(outfile, level, already_processed, namespace_, name_='users')
|
|
if self.hasContent_():
|
|
outfile.write('>%s' % (eol_, ))
|
|
self.exportChildren(outfile, level + 1, namespace_='', name_='users', pretty_print=pretty_print)
|
|
showIndent(outfile, level, pretty_print)
|
|
outfile.write('</%s%s>%s' % (namespace_, name_, eol_))
|
|
else:
|
|
outfile.write('/>%s' % (eol_, ))
|
|
def exportAttributes(self, outfile, level, already_processed, namespace_='', name_='users'):
|
|
if self.profiles is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
|
|
def exportChildren(self, outfile, level, namespace_='', name_='users', fromsubclass_=False, pretty_print=True):
|
|
if pretty_print:
|
|
eol_ = '\n'
|
|
else:
|
|
eol_ = ''
|
|
for user_ in self.user:
|
|
user_.export(outfile, level, namespace_, name_='user', pretty_print=pretty_print)
|
|
def build(self, node):
|
|
already_processed = set()
|
|
self.buildAttributes(node, node.attrib, already_processed)
|
|
for child in node:
|
|
nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
|
|
self.buildChildren(child, node, nodeName_)
|
|
return self
|
|
def buildAttributes(self, node, attrs, already_processed):
|
|
value = find_attr_value_('profiles', node)
|
|
if value is not None and 'profiles' not in already_processed:
|
|
already_processed.add('profiles')
|
|
self.profiles = value
|
|
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
|
|
if nodeName_ == 'user':
|
|
obj_ = user.factory()
|
|
obj_.build(child_)
|
|
self.user.append(obj_)
|
|
obj_.original_tagname_ = 'user'
|
|
# end class users
|
|
|
|
|
|
GDSClassesMapping = {
|
|
}
|
|
|
|
|
|
USAGE_TEXT = """
|
|
Usage: python <Parser>.py [ -s ] <in_xml_file>
|
|
"""
|
|
|
|
|
|
def usage():
|
|
print(USAGE_TEXT)
|
|
sys.exit(1)
|
|
|
|
|
|
def get_root_tag(node):
|
|
tag = Tag_pattern_.match(node.tag).groups()[-1]
|
|
rootClass = GDSClassesMapping.get(tag)
|
|
if rootClass is None:
|
|
rootClass = globals().get(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 = 'k_source'
|
|
rootClass = k_source
|
|
rootObj = rootClass.factory()
|
|
rootObj.build(rootNode)
|
|
# Enable Python to collect the space used by the DOM.
|
|
doc = None
|
|
if not silence:
|
|
sys.stdout.write('<?xml version="1.0" ?>\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 = 'k_source'
|
|
rootClass = k_source
|
|
rootObj = rootClass.factory()
|
|
rootObj.build(rootNode)
|
|
# Enable Python to collect the space used by the DOM.
|
|
doc = None
|
|
mapping = {}
|
|
rootElement = rootObj.to_etree(None, name_=rootTag, mapping_=mapping)
|
|
reverse_mapping = rootObj.gds_reverse_node_mapping(mapping)
|
|
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):
|
|
from StringIO import StringIO
|
|
parser = None
|
|
doc = parsexml_(StringIO(inString), parser)
|
|
rootNode = doc.getroot()
|
|
rootTag, rootClass = get_root_tag(rootNode)
|
|
if rootClass is None:
|
|
rootTag = 'k_source'
|
|
rootClass = k_source
|
|
rootObj = rootClass.factory()
|
|
rootObj.build(rootNode)
|
|
# Enable Python to collect the space used by the DOM.
|
|
doc = None
|
|
if not silence:
|
|
sys.stdout.write('<?xml version="1.0" ?>\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 = 'k_source'
|
|
rootClass = k_source
|
|
rootObj = rootClass.factory()
|
|
rootObj.build(rootNode)
|
|
# Enable Python to collect the space used by the DOM.
|
|
doc = None
|
|
if not silence:
|
|
sys.stdout.write('#from xml_parse import *\n\n')
|
|
sys.stdout.write('import xml_parse as model_\n\n')
|
|
sys.stdout.write('rootObj = model_.rootClass(\n')
|
|
rootObj.exportLiteral(sys.stdout, 0, name_=rootTag)
|
|
sys.stdout.write(')\n')
|
|
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()
|
|
|
|
|
|
__all__ = [
|
|
"arch",
|
|
"architectures",
|
|
"archive",
|
|
"chroot",
|
|
"configuration",
|
|
"containerconfig",
|
|
"description",
|
|
"drivers",
|
|
"driverupdate",
|
|
"extension",
|
|
"file",
|
|
"ignore",
|
|
"image",
|
|
"install",
|
|
"instrepo",
|
|
"instsource",
|
|
"instsys",
|
|
"k_source",
|
|
"machine",
|
|
"metadata",
|
|
"metafile",
|
|
"modules",
|
|
"namedCollection",
|
|
"oemconfig",
|
|
"package",
|
|
"packages",
|
|
"partition",
|
|
"partitions",
|
|
"preferences",
|
|
"product",
|
|
"productinfo",
|
|
"productoption",
|
|
"productoptions",
|
|
"productvar",
|
|
"profile",
|
|
"profiles",
|
|
"pxedeploy",
|
|
"repopackage",
|
|
"repopackages",
|
|
"repository",
|
|
"requiredarch",
|
|
"size",
|
|
"source",
|
|
"strip",
|
|
"systemdisk",
|
|
"target",
|
|
"type_",
|
|
"union",
|
|
"user",
|
|
"users",
|
|
"vagrantconfig",
|
|
"vmdisk",
|
|
"vmdvd",
|
|
"vmnic",
|
|
"volume"
|
|
]
|