Mercurial > hg > MakeItSo
comparison makeitso/makeitso.py @ 28:dc18d6db4956
depend on trunk tempita; stubbing for next stage
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Wed, 22 Dec 2010 13:30:09 -0800 |
parents | ac44c36da885 |
children | 1549be7f0fcb |
comparison
equal
deleted
inserted
replaced
27:ac44c36da885 | 28:dc18d6db4956 |
---|---|
131 retval = {} | 131 retval = {} |
132 for i in variables: | 132 for i in variables: |
133 print 'Enter %s: ' % i, | 133 print 'Enter %s: ' % i, |
134 retval[i] = raw_input() | 134 retval[i] = raw_input() |
135 return retval | 135 return retval |
136 | |
137 ### functions for substitution | |
136 | 138 |
137 def substitute(content, variables=None): | 139 def substitute(content, variables=None): |
138 """interactive (for now) substitution""" | 140 """interactive (for now) substitution""" |
139 | 141 |
140 # remove makeitso shebang if it has one | 142 # remove makeitso shebang if it has one |
147 if missing: | 149 if missing: |
148 # TODO: add a switch for interactive or not | 150 # TODO: add a switch for interactive or not |
149 variables.update(read_variables(missing)) | 151 variables.update(read_variables(missing)) |
150 return template.substitute(**variables) | 152 return template.substitute(**variables) |
151 | 153 |
154 def substitute_directory(directory, output=None, variables=None): | |
155 # TODO: interpolate directory names | |
156 | |
157 ### | |
158 | |
152 def invocation(url, **variables): | 159 def invocation(url, **variables): |
153 """returns a string appropriate for TTW invocation""" | 160 """returns a string appropriate for TTW invocation""" |
154 variables_string = ' '.join(['%s=%s' % (i,j) for i,j in variables.items()]) | 161 variables_string = ' '.join(['%s=%s' % (i,j) for i,j in variables.items()]) |
155 return 'python <(curl %s) %s %s' % (location, url, variables_string) | 162 return 'python <(curl %s) %s %s' % (location, url, variables_string) |
156 | 163 |
157 def main(args=sys.argv[1:]): | 164 def main(args=sys.argv[1:]): |
158 | 165 |
159 # create option parser | 166 # create option parser |
160 usage = '%prog [options] template <template> <...>' | 167 usage = '%prog [options] template <template> <...>' |
161 parser = OptionParser(usage, description=__doc__) | 168 parser = OptionParser(usage, description=__doc__) |
169 | |
170 # delimeters | |
171 # XXX needs tempita trunk | |
162 parser.add_option('-[', '--start-braces', dest='start_braces', | 172 parser.add_option('-[', '--start-braces', dest='start_braces', |
163 help='starting delimeter') | 173 help='starting delimeter') |
164 parser.add_option('-]', '--end-braces', dest='end_braces', | 174 parser.add_option('-]', '--end-braces', dest='end_braces', |
165 help='starting delimeter') | 175 help='starting delimeter') |
176 | |
177 # options about where to put things | |
166 parser.add_option('--in-place', dest='in_place', | 178 parser.add_option('--in-place', dest='in_place', |
167 action='store_true', default=False, | 179 action='store_true', default=False, |
168 help='interpret files in place') # TODO: unused | 180 help='interpret files in place') # TODO: unused |
181 parser.add_option('-o', '--output', dest='output', | |
182 help='where to put the output (filename or directory)') | |
183 | |
184 # | |
169 parser.add_option('--commandline', dest='commandline', | 185 parser.add_option('--commandline', dest='commandline', |
170 action='store_true', default=False, | 186 action='store_true', default=False, |
171 help="print the commandline to invoke this script TTW") | 187 help="print the commandline to invoke this script TTW") |
172 parser.add_option('--variables', dest='variables', | 188 parser.add_option('--variables', dest='variables', |
173 action='store_true', default=False, | 189 action='store_true', default=False, |