get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 813949,
    "url": "http://patchwork.ozlabs.org/api/patches/813949/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20170914213450.28754-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": "<20170914213450.28754-3-paul.burton@imgtec.com>",
    "list_archive_url": null,
    "date": "2017-09-14T21:34:44",
    "name": "[U-Boot,v2,2/8] test/py: Use range() rather than xrange()",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "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": 3184,
        "url": "http://patchwork.ozlabs.org/api/users/3184/?format=api",
        "username": "sjg",
        "first_name": "Simon",
        "last_name": "Glass",
        "email": "sjg@chromium.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20170914213450.28754-3-paul.burton@imgtec.com/mbox/",
    "series": [
        {
            "id": 3166,
            "url": "http://patchwork.ozlabs.org/api/series/3166/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=3166",
            "date": "2017-09-14T21:34:42",
            "name": "test/py: Fixes for python 3.x",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/3166/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/813949/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/813949/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 3xtX0w2RdJz9s7B\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 15 Sep 2017 07:36:48 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 16036C21E4C; Thu, 14 Sep 2017 21:36:21 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 026FCC21EE6;\n\tThu, 14 Sep 2017 21:36:20 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid ABEBFC21EED; Thu, 14 Sep 2017 21:36:01 +0000 (UTC)",
            "from mailapp01.imgtec.com (mailapp01.imgtec.com [195.59.15.196])\n\tby lists.denx.de (Postfix) with ESMTP id 163D4C21E79\n\tfor <u-boot@lists.denx.de>; Thu, 14 Sep 2017 21:35:57 +0000 (UTC)",
            "from hhmail02.hh.imgtec.org (unknown [10.100.10.20])\n\tby Forcepoint Email with ESMTPS id 1F9B1A6C02B4C;\n\tThu, 14 Sep 2017 22:35:51 +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 22:35:55 +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 14:34:44 -0700",
        "Message-ID": "<20170914213450.28754-3-paul.burton@imgtec.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170914213450.28754-1-paul.burton@imgtec.com>",
        "References": "<20170914213450.28754-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 v2 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>\nReviewed-by: Stephen Warren <swarren@nvidia.com>\n---\n\nChanges in v2: None\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",
        "v2",
        "2/8"
    ]
}