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

Unified Diff: gcl.py

Issue 6825008: First stab at using Rietveld wrapper object in both gcl.py and git-cl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: small fix Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | git_cl.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcl.py
diff --git a/gcl.py b/gcl.py
index 69dedb8ee24e57a53f67df9679bfdd716613f75c..76f302ee1640d5a0dd3bd3e235ed791510d6cf1b 100755
--- a/gcl.py
+++ b/gcl.py
@@ -8,7 +8,6 @@ Wrapper script around Rietveld's upload.py that simplifies working with groups
of files.
"""
-import getpass
import optparse
import os
import random
@@ -39,9 +38,10 @@ from scm import SVN
import fix_encoding
import gclient_utils
import presubmit_support
+import rietveld
import subprocess2
-__version__ = '1.2'
+__version__ = '1.2.1'
CODEREVIEW_SETTINGS = {
@@ -283,7 +283,7 @@ class ChangeInfo(object):
_SEPARATOR = "\n-----\n"
def __init__(self, name, issue, patchset, description, files, local_root,
- rietveld, needs_upload=False):
+ rietveld_url, needs_upload=False):
self.name = name
self.issue = int(issue)
self.patchset = int(patchset)
@@ -297,10 +297,11 @@ class ChangeInfo(object):
self.patch = None
self._local_root = local_root
self.needs_upload = needs_upload
- self.rietveld = rietveld
+ self.rietveld = rietveld_url
if not self.rietveld:
# Set the default value.
self.rietveld = GetCodeReviewSetting('CODE_REVIEW_SERVER')
+ self._rpc_server = None
def _get_description(self):
return self._description
@@ -384,6 +385,13 @@ class ChangeInfo(object):
"""Removes the changelist information from disk."""
os.remove(GetChangelistInfoFile(self.name))
+ def RpcServer(self):
+ if not self._rpc_server:
+ if not self.rietveld:
+ ErrorExit(CODEREVIEW_SETTINGS_FILE_NOT_FOUND)
+ self._rpc_server = rietveld.Rietveld(self.rietveld, None, None)
+ return self._rpc_server
+
def CloseIssue(self):
"""Closes the Rietveld issue for this changelist."""
# Newer versions of Rietveld require us to pass an XSRF token to POST, so
@@ -420,19 +428,8 @@ class ChangeInfo(object):
def SendToRietveld(self, request_path, timeout=None, **kwargs):
"""Send a POST/GET to Rietveld. Returns the response body."""
- if not self.rietveld:
- ErrorExit(CODEREVIEW_SETTINGS_FILE_NOT_FOUND)
- def GetUserCredentials():
- """Prompts the user for a username and password."""
- email = upload.GetEmail('Email (login for uploading to %s)' %
- self.rietveld)
- password = getpass.getpass('Password for %s: ' % email)
- return email, password
- rpc_server = upload.HttpRpcServer(self.rietveld,
- GetUserCredentials,
- save_cookies=True)
try:
- return rpc_server.Send(request_path, timeout=timeout, **kwargs)
+ return self.RpcServer().Send(request_path, timeout=timeout, **kwargs)
except urllib2.URLError:
if timeout is None:
ErrorExit('Error accessing url %s' % request_path)
@@ -536,8 +533,9 @@ class ChangeInfo(object):
if not os.path.exists(info_file):
if fail_on_not_found:
ErrorExit("Changelist " + changename + " not found.")
- return ChangeInfo(changename, 0, 0, '', None, local_root, rietveld=None,
- needs_upload=False)
+ return ChangeInfo(
+ changename, 0, 0, '', None, local_root, rietveld_url=None,
+ needs_upload=False)
content = gclient_utils.FileRead(info_file, 'r')
save = False
try:
@@ -1222,15 +1220,16 @@ def DoPresubmitChecks(change_info, committing, may_prompt):
change_info.GetFiles(),
change_info.issue,
change_info.patchset)
- output = presubmit_support.DoPresubmitChecks(change=change,
- committing=committing,
- verbose=False,
- output_stream=sys.stdout,
- input_stream=sys.stdin,
- default_presubmit=root_presubmit,
- may_prompt=may_prompt,
- tbr=False,
- host_url=change_info.rietveld)
+ output = presubmit_support.DoPresubmitChecks(
+ change=change,
+ committing=committing,
+ verbose=False,
+ output_stream=sys.stdout,
+ input_stream=sys.stdin,
+ default_presubmit=root_presubmit,
+ may_prompt=may_prompt,
+ tbr=False,
+ rietveld=change_info.RpcServer())
if not output.should_continue() and may_prompt:
# TODO(dpranke): move into DoPresubmitChecks(), unify cmd line args.
print "\nPresubmit errors, can't continue (use --no_presubmit to bypass)"
« no previous file with comments | « no previous file | git_cl.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698