Mercurial > louis > kiibohd-kll
changeset 32:8b82e0ceac05
Adding backend specific template and output defaults.
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sat, 21 Feb 2015 23:34:14 -0800 |
parents | 0a2ddc9f2e0b |
children | 43a72b401d44 |
files | backends/kiibohd.py kll.py kll_lib/backends.py |
diffstat | 3 files changed, 22 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/backends/kiibohd.py Sat Feb 21 23:19:35 2015 -0800 +++ b/backends/kiibohd.py Sat Feb 21 23:34:14 2015 -0800 @@ -36,6 +36,10 @@ ### Classes ### class Backend( BackendBase ): + # Default templates and output files + templatePaths = ["templates/kiibohdKeymap.h", "templates/kiibohdDefs.h"] + outputPaths = ["generatedKeymap.h", "kll_defs.h"] + # USB Code Capability Name def usbCodeCapability( self ): return "usbKeyOut";
--- a/kll.py Sat Feb 21 23:19:35 2015 -0800 +++ b/kll.py Sat Feb 21 23:34:14 2015 -0800 @@ -83,7 +83,8 @@ # Optional Arguments pArgs.add_argument( '-b', '--backend', type=str, default="kiibohd", help="Specify target backend for the KLL compiler.\n" - "Default: kiibohd" ) + "Default: kiibohd\n" + "Options: kiibohd, json" ) pArgs.add_argument( '-d', '--default', type=str, nargs='+', help="Specify .kll files to layer on top of the default map to create a combined map." ) pArgs.add_argument( '-p', '--partial', type=str, nargs='+', action='append', @@ -91,13 +92,11 @@ "Each -p defines another partial map.\n" "Base .kll files (that define the scan code maps) must be defined for each partial map." ) pArgs.add_argument( '-t', '--templates', type=str, nargs='+', - default=["templates/kiibohdKeymap.h", "templates/kiibohdDefs.h"], help="Specify template used to generate the keymap.\n" - "Default: templates/kiibohdKeymap.h templates/kiibohdDefs.h" ) + "Default: <backend specific>" ) pArgs.add_argument( '-o', '--outputs', type=str, nargs='+', - default=["generatedKeymap.h", "kll_defs.h"], help="Specify output file. Writes to current working directory by default.\n" - "Default: generatedKeymap.h kll_defs.h" ) + "Default: <backend specific>" ) pArgs.add_argument( '-h', '--help', action="help", help="This message." )
--- a/kll_lib/backends.py Sat Feb 21 23:19:35 2015 -0800 +++ b/kll_lib/backends.py Sat Feb 21 23:34:14 2015 -0800 @@ -36,15 +36,22 @@ ### Classes ### class BackendBase: + # Default templates and output files + templatePaths = [] + outputPaths = [] + # Initializes backend # Looks for template file and builds list of fill tags - def __init__( self, templatePaths=[] ): - self.templatePaths = templatePaths + def __init__( self, templatePaths ): + # Use defaults if no template is specified + if templatePaths is not None: + self.templatePaths = templatePaths + self.fill_dict = dict() # Process each template and add to tagList self.tagList = [] - for templatePath in templatePaths: + for templatePath in self.templatePaths: # Does template exist? if not os.path.isfile( templatePath ): print ( "{0} '{1}' does not exist...".format( ERROR, templatePath ) ) @@ -73,6 +80,10 @@ # Generates the output keymap with fill tags filled def generate( self, outputPaths ): + # Use default if not specified + if outputPaths is None: + outputPaths = self.outputPaths + for templatePath, outputPath in zip( self.templatePaths, outputPaths ): # Process each line of the template, outputting to the target path with open( outputPath, 'w' ) as outputFile: