]> git.ozlabs.org Git - patchwork/commitdiff
pwclient: lookup patch_id given Message-Id
authorBen Myers <bpm@sgi.com>
Mon, 5 Nov 2012 13:15:01 +0000 (21:15 +0800)
committerJeremy Kerr <jk@ozlabs.org>
Mon, 5 Nov 2012 13:15:01 +0000 (21:15 +0800)
Add a pwclient search option '-m' to look up a patch id given a
Message-id. This is useful for automation and mailer hooks.

Signed-off-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/bin/pwclient

index 16ca33775216234a9c83466d708e28c247be3844..958861581815ca64094691cb8623383aa785ed76 100755 (executable)
@@ -127,7 +127,8 @@ def usage():
         -p <project>  : Filter by project name (see 'projects' for list)
         -w <who>      : Filter by submitter (name, e-mail substring search)
         -d <who>      : Filter by delegate (name, e-mail substring search)
-        -n <max #>    : Restrict number of results\n""")
+        -n <max #>    : Restrict number of results
+        -m <messageid>: Filter by Message-Id\n""")
     sys.stderr.write("""\nActions that take an ID argument can also be \
 invoked with:
         -h <hash>     : Lookup by patch hash\n""")
@@ -319,7 +320,7 @@ auth_actions = ['update']
 
 def main():
     try:
-        opts, args = getopt.getopt(sys.argv[2:], 's:p:w:d:n:c:h:')
+        opts, args = getopt.getopt(sys.argv[2:], 's:p:w:d:n:c:h:m:')
     except getopt.GetoptError, err:
         print str(err)
         usage()
@@ -337,6 +338,7 @@ def main():
     commit_str = ""
     state_str = ""
     hash_str = ""
+    msgid_str = ""
     url = DEFAULT_URL
 
     config = ConfigParser.ConfigParser()
@@ -362,6 +364,8 @@ def main():
             commit_str = value
         elif name == '-h':
             hash_str = value
+        elif name == '-m':
+            msgid_str = value
         elif name == '-n':
             try:
                 filt.add("max_count", int(value))
@@ -400,6 +404,9 @@ def main():
     if state_str:
         filt.add("state", state_str)
 
+    if msgid_str:
+        filt.add("msgid", msgid_str)
+
     try:
         rpc = xmlrpclib.Server(url, transport = transport)
     except: