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, |
