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 """Enables directory-specific presubmit checks to run at upload and/or commit. | 6 """Enables directory-specific presubmit checks to run at upload and/or commit. |
7 """ | 7 """ |
8 | 8 |
9 __version__ = '1.6.1' | 9 __version__ = '1.6.1' |
10 | 10 |
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 tested. | 655 tested. |
656 | 656 |
657 Instance members: | 657 Instance members: |
658 tags: Dictionnary of KEY=VALUE pairs found in the change description. | 658 tags: Dictionnary of KEY=VALUE pairs found in the change description. |
659 self.KEY: equivalent to tags['KEY'] | 659 self.KEY: equivalent to tags['KEY'] |
660 """ | 660 """ |
661 | 661 |
662 _AFFECTED_FILES = AffectedFile | 662 _AFFECTED_FILES = AffectedFile |
663 | 663 |
664 # Matches key/value (or "tag") lines in changelist descriptions. | 664 # Matches key/value (or "tag") lines in changelist descriptions. |
665 _TAG_LINE_RE = re.compile( | 665 TAG_LINE_RE = re.compile( |
666 '^\s*(?P<key>[A-Z][A-Z_0-9]*)\s*=\s*(?P<value>.*?)\s*$') | 666 '^\s*(?P<key>[A-Z][A-Z_0-9]*)\s*=\s*(?P<value>.*?)\s*$') |
667 scm = '' | 667 scm = '' |
668 | 668 |
669 def __init__( | 669 def __init__( |
670 self, name, description, local_root, files, issue, patchset, author): | 670 self, name, description, local_root, files, issue, patchset, author): |
671 if files is None: | 671 if files is None: |
672 files = [] | 672 files = [] |
673 self._name = name | 673 self._name = name |
674 self._full_description = description | 674 self._full_description = description |
675 # Convert root into an absolute path. | 675 # Convert root into an absolute path. |
676 self._local_root = os.path.abspath(local_root) | 676 self._local_root = os.path.abspath(local_root) |
677 self.issue = issue | 677 self.issue = issue |
678 self.patchset = patchset | 678 self.patchset = patchset |
679 self.author_email = author | 679 self.author_email = author |
680 | 680 |
681 # From the description text, build up a dictionary of key/value pairs | 681 # From the description text, build up a dictionary of key/value pairs |
682 # plus the description minus all key/value or "tag" lines. | 682 # plus the description minus all key/value or "tag" lines. |
683 description_without_tags = [] | 683 description_without_tags = [] |
684 self.tags = {} | 684 self.tags = {} |
685 for line in self._full_description.splitlines(): | 685 for line in self._full_description.splitlines(): |
686 m = self._TAG_LINE_RE.match(line) | 686 m = self.TAG_LINE_RE.match(line) |
687 if m: | 687 if m: |
688 self.tags[m.group('key')] = m.group('value') | 688 self.tags[m.group('key')] = m.group('value') |
689 else: | 689 else: |
690 description_without_tags.append(line) | 690 description_without_tags.append(line) |
691 | 691 |
692 # Change back to text and remove whitespace at end. | 692 # Change back to text and remove whitespace at end. |
693 self._description_without_tags = ( | 693 self._description_without_tags = ( |
694 '\n'.join(description_without_tags).rstrip()) | 694 '\n'.join(description_without_tags).rstrip()) |
695 | 695 |
696 assert all( | 696 assert all( |
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 except PresubmitFailure, e: | 1258 except PresubmitFailure, e: |
1259 print >> sys.stderr, e | 1259 print >> sys.stderr, e |
1260 print >> sys.stderr, 'Maybe your depot_tools is out of date?' | 1260 print >> sys.stderr, 'Maybe your depot_tools is out of date?' |
1261 print >> sys.stderr, 'If all fails, contact maruel@' | 1261 print >> sys.stderr, 'If all fails, contact maruel@' |
1262 return 2 | 1262 return 2 |
1263 | 1263 |
1264 | 1264 |
1265 if __name__ == '__main__': | 1265 if __name__ == '__main__': |
1266 fix_encoding.fix_encoding() | 1266 fix_encoding.fix_encoding() |
1267 sys.exit(Main(None)) | 1267 sys.exit(Main(None)) |
OLD | NEW |