diff options
-rwxr-xr-x | apps/patchwork/bin/pwclient | 6 | ||||
-rw-r--r-- | apps/patchwork/views/xmlrpc.py | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/apps/patchwork/bin/pwclient b/apps/patchwork/bin/pwclient index 863c1ae..75fc6ff 100755 --- a/apps/patchwork/bin/pwclient +++ b/apps/patchwork/bin/pwclient @@ -285,8 +285,8 @@ def action_update_patch(rpc, patch_id, state = None, commit = None): if not success: sys.stderr.write("Patch not updated\n") -def patch_id_from_hash(rpc, hash): - patch = rpc.patch_get_by_hash(hash) +def patch_id_from_hash(rpc, project, hash): + patch = rpc.patch_get_by_project_hash(project, hash) if patch == {}: return None @@ -382,7 +382,7 @@ def main(): patch_id = None if hash_str: - patch_id = patch_id_from_hash(rpc, hash_str) + patch_id = patch_id_from_hash(rpc, project_str, hash_str) if patch_id is None: sys.stderr.write("No patch has the hash provided\n") sys.exit(1) diff --git a/apps/patchwork/views/xmlrpc.py b/apps/patchwork/views/xmlrpc.py index f322e53..23e58bf 100644 --- a/apps/patchwork/views/xmlrpc.py +++ b/apps/patchwork/views/xmlrpc.py @@ -355,6 +355,16 @@ def patch_get_by_hash(hash): return {} @xmlrpc_method(False) +def patch_get_by_project_hash(project, hash): + """Return structure for the given patch hash.""" + try: + patch = Patch.objects.filter(project__linkname = project, + hash = hash)[0] + return patch_to_dict(patch) + except: + return {} + +@xmlrpc_method(False) def patch_get_mbox(patch_id): """Return mbox string for the given patch ID.""" try: |