[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [repo-management] hooks: Fixes in URL joining (I keep on getting
From:       Luca Beltrame <einar () heavensinferno ! net>
Date:       2011-10-25 20:42:10
Message-ID: 20111025204210.B66A1A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit f668796b42199f5ac0897d93e50ded5c4621edb1 by Luca Beltrame.
Committed on 25/10/2011 at 22:40.
Pushed by lbeltrame into branch 'master'.

Fixes in URL joining (I keep on getting bitten by this), and status code
(RB returns 201 created instead of 200 for replies). Also try to see if
removing quoting will prevent empty messages from being posted

M  +7    -4    hooks/update_review.py

http://commits.kde.org/repo-management/f668796b42199f5ac0897d93e50ded5c4621edb1

diff --git a/hooks/update_review.py b/hooks/update_review.py
index c077da0..cad5055 100755
--- a/hooks/update_review.py
+++ b/hooks/update_review.py
@@ -77,7 +77,8 @@ def close_review(review_id, commit, committer, changed_ref):
         - committer - the committer's username
     """
 
-    reviewboard_url = urlparse.urljoin(REVIEWBOARD_URL, "api")
+    # The slash is important or urljoin will mess up
+    reviewboard_url = urlparse.urljoin(REVIEWBOARD_URL, "api/")
 
     username, password = read_credentials()
 
@@ -85,8 +86,8 @@ def close_review(review_id, commit, committer, changed_ref):
     logger = logging.getLogger("reviewboard")
     logger.setLevel(DEFAULT_LEVEL)
 
-    message = urllib.quote("This review has been submitted with commit "
-                           "%s by %s to %s." % (commit, committer, changed_ref))
+    message =  ("This review has been submitted with commit "
+            "%s by %s to %s." % (commit, committer, changed_ref))
 
     # Resources for replying and for submitting
     submit_resource = "review-requests/%s" % review_id
@@ -103,7 +104,9 @@ def close_review(review_id, commit, committer, changed_ref):
     request = requests.post(reply_url, auth=(username, password),
             params=post_reply)
 
-    if request.status_code != requests.codes.ok:
+    # Reviewboard generates a 201 created response for this
+    if (request.status_code != requests.codes.ok or
+        request.status_code != requests.codes.created):
         logger.error("Communication problem with Reviewboard. "
                 "Please contact the KDE sysadmins.")
         logger.info("Please report the following:")

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic