Patchwork [v2,1/3] pwclient: Add command for printing patch info

login
register
mail settings
Submitter Doug Anderson
Date Dec. 4, 2012, 12:08 a.m.
Message ID <1354579699-26427-1-git-send-email-dianders@chromium.org>
Download mbox | patch
Permalink /patch/203509/
State Accepted
Headers show

Comments

Doug Anderson - Dec. 4, 2012, 12:08 a.m.
This command prints raw information that patchwork has about a patch.  This can
be useful for debugging problems with patchwork.

Signed-off-by: Doug Anderson <dianders@chromium.org>

---
Changes in v2: None

 apps/patchwork/bin/pwclient |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
Jeremy Kerr - Dec. 30, 2012, 1:40 a.m.
Hi Doug,

> This command prints raw information that patchwork has about a patch.
> This can be useful for debugging problems with patchwork.

Looks good, applied.

Cheers,


Jeremy

Patch

diff --git a/apps/patchwork/bin/pwclient b/apps/patchwork/bin/pwclient
index 9588615..e642195 100755
--- a/apps/patchwork/bin/pwclient
+++ b/apps/patchwork/bin/pwclient
@@ -113,6 +113,7 @@  def usage():
 """        apply <ID>    : Apply a patch (in the current dir, using -p1)
         git-am <ID>   : Apply a patch to current git branch using "git am"
         get <ID>      : Download a patch and save it locally
+        info <ID>     : Display patchwork info about a given patch ID
         projects      : List all projects
         states        : Show list of potential patch states
         list [str]    : List patches, using the optional filters specified
@@ -224,6 +225,14 @@  def action_states(rpc):
     for state in states:
         print("%-5d %s" % (state['id'], state['name']))
 
+def action_info(rpc, patch_id):
+    patch = rpc.patch_get(patch_id)
+    s = "Information for patch id %d" % (patch_id)
+    print(s)
+    print('-' * len(s))
+    for key, value in sorted(patch.iteritems()):
+        print("- %- 14s: %s" % (key, value))
+
 def action_get(rpc, patch_id):
     patch = rpc.patch_get(patch_id)
     s = rpc.patch_get_mbox(patch_id)
@@ -443,14 +452,17 @@  def main():
         if len(s) > 0:
             print unicode(s).encode("utf-8")
 
-    elif action == 'get' or action == 'save':
+    elif action in ('get', 'save', 'info'):
         try:
             patch_id = patch_id or int(args[0])
         except:
             sys.stderr.write("Invalid patch ID given\n")
             sys.exit(1)
 
-        action_get(rpc, patch_id)
+        if action == 'info':
+            action_info(rpc, patch_id)
+        else:
+            action_get(rpc, patch_id)
 
     elif action == 'apply':
         try: