When searching for patches by a person, currently pwclient prints the
header even for people who have no patches. This makes the output noiser
than it needs to be, eg:

  $ pwclient list -w foo
  Patches submitted by Ley Foon Tan <[email protected]>:
  ID      State        Name
  --      -----        ----
  Patches submitted by  <[email protected]>:
  ID      State        Name
  --      -----        ----
  Patches submitted by James Y Knight <[email protected]>:
  ID      State        Name
  --      -----        ----
  Patches submitted by Steinar H. Gunderson <[email protected]>:
  ID      State        Name
  --      -----        ----
  Patches submitted by Lars-Peter Clausen <[email protected]>:
  ID      State        Name
  --      -----        ----
  Patches submitted by ainiaa2k9VG ainiaa5f8VG <[email protected]>:
  ID      State        Name
  --      -----        ----

This commit changes the logic to only display the header info if there
are patches to display. It also tracks if there were any patches found
at all, if not it prints:

  $ pwclient list -w foo
  Note: No patches found for anyone matching *foo*

Signed-off-by: Michael Ellerman <[email protected]>
---
 apps/patchwork/bin/pwclient | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/apps/patchwork/bin/pwclient b/apps/patchwork/bin/pwclient
index dfbea3086275..5aa232378b74 100755
--- a/apps/patchwork/bin/pwclient
+++ b/apps/patchwork/bin/pwclient
@@ -180,15 +180,24 @@ def action_list(rpc, filter, submitter_str, delegate_str):
             sys.stderr.write("Note: Nobody found matching *%s*\n" % \
                              submitter_str)
         else:
+            found = False
             for id in ids:
+                f = filter
+                f.add("submitter_id", id)
+                patches = rpc.patch_list(f.d)
+                if len(patches) == 0:
+                    continue
+
+                found = True
                 person = rpc.person_get(id)
                 print "Patches submitted by %s <%s>:" % \
                         (unicode(person['name']).encode("utf-8"), \
                          unicode(person['email']).encode("utf-8"))
-                f = filter
-                f.add("submitter_id", id)
-                patches = rpc.patch_list(f.d)
                 list_patches(patches)
+
+            if not found:
+                sys.stderr.write("Note: No patches found for anyone matching 
*%s*\n" % \
+                                 submitter_str)
         return
 
     if delegate_str != "":
-- 
1.9.1

_______________________________________________
Patchwork mailing list
[email protected]
https://lists.ozlabs.org/listinfo/patchwork

Reply via email to