Subversion Repositories HomeAutomation

Rev

Rev 612 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. #!/usr/bin/python
  2.  
  3. class ParseError:
  4.     pass
  5.  
  6. class MissingArgument:
  7.     pass
  8.  
  9. def parse( filename, cmdpars ):
  10.     transl = {}
  11.     lines = []
  12.     f = open( filename )
  13.     for line in f:
  14.         line = line.rstrip("\n\r")
  15.         if line == "":
  16.             pass
  17.         elif line[0] == "-":
  18.             arg, name, default, desc = line[1:].split(" ",3)
  19.             if default == "-" and not cmdpars.has_key( arg ):
  20.                 raise MissingArgument
  21.             transl[ name ] = cmdpars.get(arg,default)
  22.         elif line[0] == ">":
  23.             l = line[1:]
  24.             for key,val in transl.items():
  25.                 l = l.replace( ("{%s}"%(key,)), val )
  26.             lines.append( l )
  27.     f.close()
  28.     return lines
  29.