livemedia-creator: Add /usr/share/lorax/templates.d/ support
This commit is contained in:
		
							parent
							
								
									76bce910e0
								
							
						
					
					
						commit
						c15349c3da
					
				| @ -148,14 +148,8 @@ class Lorax(BaseLoraxClass): | ||||
|         Otherwise use the sharedir | ||||
|         """ | ||||
|         if not self._templatedir: | ||||
|             templatedir = self.conf.get("lorax", "sharedir") | ||||
|             if os.path.isdir(joinpaths(templatedir, "templates.d")): | ||||
|                 try: | ||||
|                     templatedir = sorted(glob(joinpaths(templatedir, "templates.d", "*")))[0] | ||||
|                 except IndexError: | ||||
|                     pass | ||||
|             logger.info("Using templatedir %s", templatedir) | ||||
|             self._templatedir = templatedir | ||||
|             self._templatedir = find_templates(self.conf.get("lorax", "sharedir")) | ||||
|             logger.info("Using templatedir %s", self._templatedir) | ||||
|         return self._templatedir | ||||
| 
 | ||||
|     def init_stream_logging(self): | ||||
| @ -424,3 +418,23 @@ def setup_logging(logfile, theLogger): | ||||
|     fh = logging.FileHandler(filename=f, mode="w") | ||||
|     fh.setLevel(logging.DEBUG) | ||||
|     program_log.addHandler(fh) | ||||
| 
 | ||||
| 
 | ||||
| def find_templates(templatedir="/usr/share/lorax"): | ||||
|     """ Find the templates to use. | ||||
| 
 | ||||
|     :param str templatedir: Top directory to search for templates | ||||
|     :returns: Path to templates | ||||
|     :rtype: str | ||||
| 
 | ||||
|     If there is a templates.d directory under templatedir the | ||||
|     lowest numbered directory entry is returned. | ||||
| 
 | ||||
|     eg. /usr/share/lorax/templates.d/99-generic/ | ||||
|     """ | ||||
|     if os.path.isdir(joinpaths(templatedir, "templates.d")): | ||||
|         try: | ||||
|             templatedir = sorted(glob(joinpaths(templatedir, "templates.d", "*")))[0] | ||||
|         except IndexError: | ||||
|             pass | ||||
|     return templatedir | ||||
|  | ||||
| @ -45,7 +45,7 @@ from mako.template import Template | ||||
| from mako.exceptions import text_error_template | ||||
| 
 | ||||
| # Use the Lorax treebuilder branch for iso creation | ||||
| from pylorax import ArchData, setup_logging | ||||
| from pylorax import ArchData, setup_logging, find_templates | ||||
| from pylorax.base import DataHolder | ||||
| from pylorax.treebuilder import TreeBuilder, RuntimeBuilder, udev_escape | ||||
| from pylorax.treebuilder import findkernels | ||||
| @ -1091,7 +1091,7 @@ def main(): | ||||
|                         type=os.path.abspath, | ||||
|                         help="Name and path for primary logfile, other logs will " | ||||
|                              "be created in the same directory.") | ||||
|     parser.add_argument("--lorax-templates", default="/usr/share/lorax/", | ||||
|     parser.add_argument("--lorax-templates", default=None, | ||||
|                         type=os.path.abspath, | ||||
|                         help="Path to mako templates for lorax") | ||||
|     parser.add_argument("--tmp", default="/var/tmp", type=os.path.abspath, | ||||
| @ -1205,6 +1205,9 @@ def main(): | ||||
| 
 | ||||
|     log.debug( opts ) | ||||
| 
 | ||||
|     # Find the lorax templates | ||||
|     opts.lorax_templates = find_templates(opts.lorax_templates or "/usr/share/lorax") | ||||
| 
 | ||||
|     # Check for invalid combinations of options, print all the errors and exit. | ||||
|     errors = [] | ||||
|     if not opts.disk_image and not opts.fs_image and not opts.ks: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user