210def main(argv=sys.argv):
211 if len(argv) < 2:
212 sys.stderr.write('Google Mock Class Generator v%s\n\n' %
213 '.'.join(map(str, _VERSION)))
214 sys.stderr.write(__doc__)
215 return 1
216
217 global _INDENT
218 try:
219 _INDENT = int(os.environ['INDENT'])
220 except KeyError:
221 pass
222 except:
223 sys.stderr.write('Unable to use indent of %s\n' % os.environ.get('INDENT'))
224
225 filename = argv[1]
226 desired_class_names = None
227 if len(argv) >= 3:
228 desired_class_names =
set(argv[2:])
229 source = utils.ReadFile(filename)
230 if source is None:
231 return 1
232
233 builder = ast.BuilderFromSource(source, filename)
234 try:
235 entire_ast = filter(None, builder.Generate())
236 except KeyboardInterrupt:
237 return
238 except:
239
240 sys.exit(1)
241 else:
242 lines = _GenerateMocks(filename, source, entire_ast, desired_class_names)
243 sys.stdout.write('\n'.join(lines))
244
245