3 from cdb import cdbmake
4 from sre import compile as r_compile, sub as r_sub
5 from sys import argv, stdin, stderr, exit
7 ego = r_sub(r'^.*[/\\]', '', argv[0])
8 def die(msg, prefix = True):
9 if prefix: msg ='%s: %s' % (ego, msg)
24 die('usage: %s CDB [INPUT ...]' % ego, False)
26 rx_comment = r_compile(r'^\s*(\#|$)')
27 rx_split = r_compile(r'^\s*([-\w]+)\s*=\s*(.*\S|)\s*$')
29 cdb = cdbmake(argv[1], argv[1] + '.new')
30 for f in files(argv[2:]):
32 if len(line) and line[-1] == '\n': line = line[:-1]
33 if rx_comment.match(line):
35 m = rx_split.match(line)
37 die("bad assignment: `%s'" % line)
38 k, v = m.groups([1, 2])