| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Applies an issue from Rietveld. | 6 """Applies an issue from Rietveld. |
| 7 """ | 7 """ |
| 8 | 8 |
| 9 import logging | 9 import logging |
| 10 import optparse | 10 import optparse |
| 11 import os | 11 import os |
| 12 import sys | 12 import sys |
| 13 | 13 |
| 14 import breakpad # pylint: disable=W0611 | 14 import breakpad # pylint: disable=W0611 |
| 15 | 15 |
| 16 import checkout | 16 import checkout |
| 17 import fix_encoding | 17 import fix_encoding |
| 18 import rietveld | 18 import rietveld |
| 19 import scm | 19 import scm |
| 20 | 20 |
| 21 | 21 |
| 22 def main(): | 22 def main(): |
| 23 parser = optparse.OptionParser(description=sys.modules[__name__].__doc__) | 23 parser = optparse.OptionParser(description=sys.modules[__name__].__doc__) |
| 24 parser.add_option( | 24 parser.add_option( |
| 25 '-v', '--verbose', action='count', help='Prints debugging infos') | 25 '-v', '--verbose', action='count', default=0, |
| 26 help='Prints debugging infos') |
| 26 parser.add_option( | 27 parser.add_option( |
| 27 '-i', '--issue', type='int', help='Rietveld issue number') | 28 '-i', '--issue', type='int', help='Rietveld issue number') |
| 28 parser.add_option( | 29 parser.add_option( |
| 29 '-p', '--patchset', type='int', help='Rietveld issue\'s patchset number') | 30 '-p', '--patchset', type='int', help='Rietveld issue\'s patchset number') |
| 30 parser.add_option( | 31 parser.add_option( |
| 31 '-r', | 32 '-r', |
| 32 '--root_dir', | 33 '--root_dir', |
| 33 default=os.getcwd(), | 34 default=os.getcwd(), |
| 34 help='Root directory to apply the patch') | 35 help='Root directory to apply the patch') |
| 35 parser.add_option( | 36 parser.add_option( |
| 36 '-s', | 37 '-s', |
| 37 '--server', | 38 '--server', |
| 38 default='http://codereview.chromium.org', | 39 default='http://codereview.chromium.org', |
| 39 help='Rietveld server') | 40 help='Rietveld server') |
| 40 options, args = parser.parse_args() | 41 options, args = parser.parse_args() |
| 41 LOG_FORMAT = '%(levelname)s %(filename)s(%(lineno)d): %(message)s' | 42 logging.basicConfig( |
| 42 if not options.verbose: | 43 format='%(levelname)s %(filename)s(%(lineno)d): %(message)s', |
| 43 logging.basicConfig(level=logging.WARNING, format=LOG_FORMAT) | 44 level=[logging.WARNING, logging.INFO, logging.DEBUG][ |
| 44 elif options.verbose == 1: | 45 min(2, options.verbose)]) |
| 45 logging.basicConfig(level=logging.INFO, format=LOG_FORMAT) | |
| 46 elif options.verbose > 1: | |
| 47 logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT) | |
| 48 if args: | 46 if args: |
| 49 parser.error('Extra argument(s) "%s" not understood' % ' '.join(args)) | 47 parser.error('Extra argument(s) "%s" not understood' % ' '.join(args)) |
| 50 if not options.issue: | 48 if not options.issue: |
| 51 parser.error('Require --issue') | 49 parser.error('Require --issue') |
| 52 | 50 |
| 53 obj = rietveld.Rietveld(options.server, None, None) | 51 obj = rietveld.Rietveld(options.server, None, None) |
| 54 | 52 |
| 55 if not options.patchset: | 53 if not options.patchset: |
| 56 options.patchset = obj.get_issue_properties( | 54 options.patchset = obj.get_issue_properties( |
| 57 options.issue, False)['patchsets'][-1] | 55 options.issue, False)['patchsets'][-1] |
| (...skipping 12 matching lines...) Expand all Loading... |
| 70 parser.error('Couldn\'t determine the scm') | 68 parser.error('Couldn\'t determine the scm') |
| 71 | 69 |
| 72 # Apply the patch. | 70 # Apply the patch. |
| 73 scm_obj.apply_patch(patchset) | 71 scm_obj.apply_patch(patchset) |
| 74 return 0 | 72 return 0 |
| 75 | 73 |
| 76 | 74 |
| 77 if __name__ == "__main__": | 75 if __name__ == "__main__": |
| 78 fix_encoding.fix_encoding() | 76 fix_encoding.fix_encoding() |
| 79 sys.exit(main()) | 77 sys.exit(main()) |
| OLD | NEW |