Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: trychange.py

Issue 10165007: Remove python 2.5 compatibility code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/scm_unittest.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 """Client-side script to send a try job to the try server. It communicates to 6 """Client-side script to send a try job to the try server. It communicates to
7 the try server by either writting to a svn repository or by directly connecting 7 the try server by either writting to a svn repository or by directly connecting
8 to the server by HTTP. 8 to the server by HTTP.
9 """ 9 """
10 10
11 import datetime 11 import datetime
12 import errno 12 import errno
13 import getpass 13 import getpass
14 import json
14 import logging 15 import logging
15 import optparse 16 import optparse
16 import os 17 import os
17 import posixpath 18 import posixpath
18 import re 19 import re
19 import shutil 20 import shutil
20 import sys 21 import sys
21 import tempfile 22 import tempfile
22 import urllib 23 import urllib
23 24
24 try:
25 import simplejson as json # pylint: disable=F0401
26 except ImportError:
27 try:
28 import json # pylint: disable=F0401
29 except ImportError:
30 # Import the one included in depot_tools.
31 sys.path.append(os.path.join(os.path.dirname(__file__), 'third_party'))
32 import simplejson as json # pylint: disable=F0401
33
34 import breakpad # pylint: disable=W0611 25 import breakpad # pylint: disable=W0611
35 26
36 import gcl 27 import gcl
37 import fix_encoding 28 import fix_encoding
38 import gclient_utils 29 import gclient_utils
39 import scm 30 import scm
40 import subprocess2 31 import subprocess2
41 32
42 33
43 __version__ = '1.2' 34 __version__ = '1.2'
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 if options.files: 728 if options.files:
738 parser.error('You cannot specify files and --url at the same time.') 729 parser.error('You cannot specify files and --url at the same time.')
739 options.diff = urllib.urlopen(options.url).read() 730 options.diff = urllib.urlopen(options.url).read()
740 elif options.diff: 731 elif options.diff:
741 if options.files: 732 if options.files:
742 parser.error('You cannot specify files and --diff at the same time.') 733 parser.error('You cannot specify files and --diff at the same time.')
743 options.diff = gclient_utils.FileRead(options.diff, 'rb') 734 options.diff = gclient_utils.FileRead(options.diff, 'rb')
744 elif options.issue and options.patchset is None: 735 elif options.issue and options.patchset is None:
745 # Retrieve the patch from rietveld when the diff is not specified. 736 # Retrieve the patch from rietveld when the diff is not specified.
746 # When patchset is specified, it's because it's done by gcl/git-try. 737 # When patchset is specified, it's because it's done by gcl/git-try.
747 if json is None:
748 parser.error('json or simplejson library is missing, please install.')
749 api_url = '%s/api/%d' % (options.rietveld_url, options.issue) 738 api_url = '%s/api/%d' % (options.rietveld_url, options.issue)
750 logging.debug(api_url) 739 logging.debug(api_url)
751 contents = json.loads(urllib.urlopen(api_url).read()) 740 contents = json.loads(urllib.urlopen(api_url).read())
752 options.patchset = contents['patchsets'][-1] 741 options.patchset = contents['patchsets'][-1]
753 diff_url = ('%s/download/issue%d_%d.diff' % 742 diff_url = ('%s/download/issue%d_%d.diff' %
754 (options.rietveld_url, options.issue, options.patchset)) 743 (options.rietveld_url, options.issue, options.patchset))
755 diff = GetMungedDiff('', urllib.urlopen(diff_url).readlines()) 744 diff = GetMungedDiff('', urllib.urlopen(diff_url).readlines())
756 options.diff = ''.join(diff[0]) 745 options.diff = ''.join(diff[0])
757 changed_files = diff[1] 746 changed_files = diff[1]
758 else: 747 else:
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 return 1 837 return 1
849 except (gclient_utils.Error, subprocess2.CalledProcessError), e: 838 except (gclient_utils.Error, subprocess2.CalledProcessError), e:
850 print >> sys.stderr, e 839 print >> sys.stderr, e
851 return 1 840 return 1
852 return 0 841 return 0
853 842
854 843
855 if __name__ == "__main__": 844 if __name__ == "__main__":
856 fix_encoding.fix_encoding() 845 fix_encoding.fix_encoding()
857 sys.exit(TryChange(None, None, False)) 846 sys.exit(TryChange(None, None, False))
OLDNEW
« no previous file with comments | « tests/scm_unittest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698