get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/813931/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 813931,
    "url": "http://patchwork.ozlabs.org/api/patches/813931/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20170914200634.17818-3-paul.burton@imgtec.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170914200634.17818-3-paul.burton@imgtec.com>",
    "list_archive_url": null,
    "date": "2017-09-14T20:06:28",
    "name": "[U-Boot,2/8] test/py: Use range() rather than xrange()",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "aaef6a16111dacf4cb3e4f2ef01b7070794ef18c",
    "submitter": {
        "id": 33698,
        "url": "http://patchwork.ozlabs.org/api/people/33698/?format=api",
        "name": "Paul Burton",
        "email": "paul.burton@imgtec.com"
    },
    "delegate": {
        "id": 3651,
        "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api",
        "username": "trini",
        "first_name": "Tom",
        "last_name": "Rini",
        "email": "trini@ti.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20170914200634.17818-3-paul.burton@imgtec.com/mbox/",
    "series": [
        {
            "id": 3156,
            "url": "http://patchwork.ozlabs.org/api/series/3156/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=3156",
            "date": "2017-09-14T20:06:26",
            "name": "test/py: Fixes for python 3.x",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3156/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/813931/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/813931/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xtV3j3wTKz9s78\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 15 Sep 2017 06:09:05 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 548FFC21D84; Thu, 14 Sep 2017 20:08:19 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 42E2CC21C5C;\n\tThu, 14 Sep 2017 20:08:16 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid AFB3EC21DBC; Thu, 14 Sep 2017 20:07:39 +0000 (UTC)",
            "from mailapp01.imgtec.com (mailapp01.imgtec.com [195.59.15.196])\n\tby lists.denx.de (Postfix) with ESMTP id B1485C21E4C\n\tfor <u-boot@lists.denx.de>; Thu, 14 Sep 2017 20:07:34 +0000 (UTC)",
            "from hhmail02.hh.imgtec.org (unknown [10.100.10.20])\n\tby Forcepoint Email with ESMTPS id EB0EFA8CE1F71;\n\tThu, 14 Sep 2017 21:07:28 +0100 (IST)",
            "from localhost (10.20.1.88) by hhmail02.hh.imgtec.org\n\t(10.100.10.21) with Microsoft SMTP Server (TLS) id 14.3.294.0;\n\tThu, 14 Sep 2017 21:07:33 +0100"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE\n\tautolearn=unavailable autolearn_force=no version=3.4.0",
        "From": "Paul Burton <paul.burton@imgtec.com>",
        "To": "<u-boot@lists.denx.de>",
        "Date": "Thu, 14 Sep 2017 13:06:28 -0700",
        "Message-ID": "<20170914200634.17818-3-paul.burton@imgtec.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170914200634.17818-1-paul.burton@imgtec.com>",
        "References": "<20170914200634.17818-1-paul.burton@imgtec.com>",
        "MIME-Version": "1.0",
        "X-Originating-IP": "[10.20.1.88]",
        "Cc": "Stephen Warren <swarren@nvidia.com>",
        "Subject": "[U-Boot] [PATCH 2/8] test/py: Use range() rather than xrange()",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "In python 3.x the xrange() function has been removed, and range()\nreturns an iterator much like Python 2.x's xrange(). Simply use range()\nin place of xrange() in order to work on both python 2.x & 3.x. This\nwill mean a small cost on python 2.x since range() will return a list\nthere rather than an iterator, but the cost should be negligible.\n\nSigned-off-by: Paul Burton <paul.burton@imgtec.com>\n---\n\n test/py/u_boot_console_sandbox.py | 2 +-\n test/py/u_boot_spawn.py           | 6 +++---\n test/py/u_boot_utils.py           | 4 ++--\n 3 files changed, 6 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/test/py/u_boot_console_sandbox.py b/test/py/u_boot_console_sandbox.py\nindex 9a2fe9cb59..5c91d926c5 100644\n--- a/test/py/u_boot_console_sandbox.py\n+++ b/test/py/u_boot_console_sandbox.py\n@@ -82,7 +82,7 @@ class ConsoleSandbox(ConsoleBase):\n \n         p = self.p\n         self.p = None\n-        for i in xrange(100):\n+        for i in range(100):\n             ret = not p.isalive()\n             if ret:\n                 break\ndiff --git a/test/py/u_boot_spawn.py b/test/py/u_boot_spawn.py\nindex 15ca4ac838..638c5dd31d 100644\n--- a/test/py/u_boot_spawn.py\n+++ b/test/py/u_boot_spawn.py\n@@ -135,7 +135,7 @@ class Spawn(object):\n             the expected time.\n         \"\"\"\n \n-        for pi in xrange(len(patterns)):\n+        for pi in range(len(patterns)):\n             if type(patterns[pi]) == type(''):\n                 patterns[pi] = re.compile(patterns[pi])\n \n@@ -144,7 +144,7 @@ class Spawn(object):\n             while True:\n                 earliest_m = None\n                 earliest_pi = None\n-                for pi in xrange(len(patterns)):\n+                for pi in range(len(patterns)):\n                     pattern = patterns[pi]\n                     m = pattern.search(self.buf)\n                     if not m:\n@@ -199,7 +199,7 @@ class Spawn(object):\n         \"\"\"\n \n         os.close(self.fd)\n-        for i in xrange(100):\n+        for i in range(100):\n             if not self.isalive():\n                 break\n             time.sleep(0.1)\ndiff --git a/test/py/u_boot_utils.py b/test/py/u_boot_utils.py\nindex 2ba4baed07..264508da4e 100644\n--- a/test/py/u_boot_utils.py\n+++ b/test/py/u_boot_utils.py\n@@ -120,7 +120,7 @@ def wait_until_open_succeeds(fn):\n         An open file handle to the file.\n     \"\"\"\n \n-    for i in xrange(100):\n+    for i in range(100):\n         fh = attempt_to_open_file(fn)\n         if fh:\n             return fh\n@@ -143,7 +143,7 @@ def wait_until_file_open_fails(fn, ignore_errors):\n         Nothing.\n     \"\"\"\n \n-    for i in xrange(100):\n+    for i in range(100):\n         fh = attempt_to_open_file(fn)\n         if not fh:\n             return\n",
    "prefixes": [
        "U-Boot",
        "2/8"
    ]
}