original_docstring: Expands <stack:package> to native autoyast syntax, later passes
  		will collect all these section to create a single
  		<software> section.
  
  		<software>
  			<patterns config:type="list"> <!-- stack:type="meta" -->
  				<pattern>?</pattern>
  			</patterns>
  			<packages config:type="list"> 
  				<package>?</package>
  				...
  			</package>
  		</software>
  
  		
docstring: Expands  to native autoyast syntax, later passes
  will collect all these section to create a single
   section.
  
  
docstring_tokens: Expands to native autoyast syntax later passes will collect all these section to create a single section .
code: def traverse_stack_package(self, node):
  		"""Expands <stack:package> to native autoyast syntax, later passes
  		will collect all these section to create a single
  		<software> section.
  
  		<software>
  			<patterns config:type="list"> <!-- stack:type="meta" -->
  				<pattern>?</pattern>
  			</patterns>
  			<packages config:type="list"> 
  				<package>?</package>
  				...
  			</package>
  		</software>
  
  		"""
  
  		stage   = self.getAttr(node, 'stack:stage', default='install')
  		enabled = str2bool(self.getAttr(node, 'stack:enable', default='true'))
  		pattern = str2bool(self.getAttr(node, 'stack:meta', default='fase'))
  			
  
  		pkgs = []
  		for line in self.collect(node).split('\n'):
  			pkg = line.strip()
  			if pkg:
  				pkgs.append(pkg)
  
  		if not pattern:
  			# Figure out if the package(s) are:
  			#
  			# post-packages   - installed on first boot for broken RPMs
  			# packages        - installed during installation as God intended
  			# remove-packages - deletes a package for no good reason
  
  			innerTag = 'sles:package'
  
  			if stage == 'boot':
  				outerTag = 'sles:post-packages'
  			else:
  				outerTag = 'sles:packages'
  
  			if not enabled:
  				outerTag = 'sles:remove-packages'
  		else:
  			# Patterns only support:
  			#
  			# post-pattern
  			# pattern
  			# (no remove patterns)
  
  			innerTag = 'sles:pattern'
  
  			if stage == 'boot':
  				outerTag = 'sles:post-patterns'
  			else:
  				outerTag = 'sles:patterns'
  
  
  		outer = self.newElementNode(outerTag)
  		self.setAttribute(outer, 'config:type', 'list')
  		for rpm in pkgs:
  			inner = self.newElementNode(innerTag)
  			inner.appendChild(self.newTextNode(rpm))
  			outer.appendChild(inner)
  
  		software = self.newElementNode('sles:software')
  		software.appendChild(outer)
  
  		node.parentNode.replaceChild(software, node)
  		return False
code_tokens: def traverse_stack_package ( self , node ) : stage = self . getAttr ( node , 'stack:stage' , default = 'install' ) enabled = str2bool ( self . getAttr ( node , 'stack:enable' , default = 'true' ) ) pattern = str2bool ( self . getAttr ( node , 'stack:meta' , default = 'fase' ) ) pkgs = [ ] for line in self . collect ( node ) . split ( '\n' ) : pkg = line . strip ( ) if pkg : pkgs . append ( pkg ) if not pattern : innerTag = 'sles:package' if stage == 'boot' : outerTag = 'sles:post-packages' else : outerTag = 'sles:packages' if not enabled : outerTag = 'sles:remove-packages' else : innerTag = 'sles:pattern' if stage == 'boot' : outerTag = 'sles:post-patterns' else : outerTag = 'sles:patterns' outer = self . newElementNode ( outerTag ) self . setAttribute ( outer , 'config:type' , 'list' ) for rpm in pkgs : inner = self . newElementNode ( innerTag ) inner . appendChild ( self . newTextNode ( rpm ) ) outer . appendChild ( inner ) software = self . newElementNode ( 'sles:software' ) software . appendChild ( outer ) node . parentNode . replaceChild ( software , node ) return False
short_docstring: Expands <stack:package> to native autoyast syntax, later passes
  will collect all these section to create a single
  <software> section.
short_docstring_tokens: Expands <stack : package > to native autoyast syntax later passes will collect all these section to create a single <software > section .
comment: """Expands <stack:package> to native autoyast syntax, later passes
  		will collect all these section to create a single
  		<software> section.
  
  		<software>
  			<patterns config:type="list"> <!-- stack:type="meta" -->
  				<pattern>?</pattern>
  			</patterns>
  			<packages config:type="list"> 
  				<package>?</package>
  				...
  			</package>
  		</software>
  
  		"""$SEP$# Figure out if the package(s) are:$SEP$#$SEP$# post-packages   - installed on first boot for broken RPMs$SEP$# packages        - installed during installation as God intended$SEP$# remove-packages - deletes a package for no good reason$SEP$# Patterns only support:$SEP$#$SEP$# post-pattern$SEP$# pattern$SEP$# (no remove patterns)