get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 83654,
    "url": "https://patches.dpdk.org/api/patches/83654/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20201104070350.28224-3-stephen@networkplumber.org/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20201104070350.28224-3-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20201104070350.28224-3-stephen@networkplumber.org",
    "date": "2020-11-04T07:03:46",
    "name": "[v2,2/6] dpdk-devbind: fix indentation",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e555f6ec07c00e36979c2481dadd26af94df46aa",
    "submitter": {
        "id": 27,
        "url": "https://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20201104070350.28224-3-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 13648,
            "url": "https://patches.dpdk.org/api/series/13648/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=13648",
            "date": "2020-11-04T07:03:44",
            "name": "dpdk-devbind: python lint cleanups",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/13648/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/83654/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/83654/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E5964A04E7;\n\tWed,  4 Nov 2020 08:04:34 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 864D6C804;\n\tWed,  4 Nov 2020 08:04:00 +0100 (CET)",
            "from mail-pl1-f193.google.com (mail-pl1-f193.google.com\n [209.85.214.193]) by dpdk.org (Postfix) with ESMTP id 9BB8BC7F2\n for <dev@dpdk.org>; Wed,  4 Nov 2020 08:03:57 +0100 (CET)",
            "by mail-pl1-f193.google.com with SMTP id k7so556420plk.3\n for <dev@dpdk.org>; Tue, 03 Nov 2020 23:03:57 -0800 (PST)",
            "from hermes.corp.microsoft.com (204-195-22-127.wavecable.com.\n [204.195.22.127])\n by smtp.gmail.com with ESMTPSA id z21sm1181177pfa.158.2020.11.03.23.03.54\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 03 Nov 2020 23:03:54 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=cqarFFgOJ7La2Qn6/42IDnxeSQzmzQv4ASLxcqQ21p4=;\n b=gSb0LQuVwmnkrGUMX7wbYU+os/CQ3zkJcO1QKcSolgfhK4xZN8l9TrqjhfhfWcJxN8\n xGMmLf4WlUzHyTlE4Lm9zknZg8yKXsVT+CtJah6QS28+AKECxBc7wJ5nQHNAbzSxAW/R\n xg+jNNoqBPNUlz0Ec0GTWngWojEKz1DKAQQlfVJpWRcQR0J/V5xgf67vraFnsdjotMln\n lMJGH09XrLxZIY0HlNU2Igzj1XrP04oyI6l6S+MgyvWMpg/OjPZ//zdimwZmJ5C97nL/\n i4ZE7gECpv3SRNyLzER8/3+YQx+RPgq3y3WPS9WcQH37X8a01ysPwhIw6SGFQ3lLY9ke\n wKUg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=cqarFFgOJ7La2Qn6/42IDnxeSQzmzQv4ASLxcqQ21p4=;\n b=IfHZF4Qrlsf6jIPOW6Diq/+ox4G39BN9MXgcvzf73Uk6B99yNAqiWrEoZQswXAoI12\n dx1Z2nwCluG+UNoy4TS4TI9u9DYtBIFpy9I//6ESJn/3+rQ7TQUjaFu2r0ht8NxpOx5U\n bI4CF+vkaYamF/sEAVBuJ0QKgODKYGyWzZaCCjPP1/kMmf1pdxjSx5oc66y4Gm+WKym2\n r7e43tOHC0MOyZnvvtlYgCoLhkVKBMAcbf/8F0kNXG4hNFoXclF2/O/dlFJK+6faVe4v\n jmq+YCKqD4kra+1rBIgTUMyDXsMs5Mm9ZBDh85altdM5gMOTFImSrtQmCL1P5+6uarXo\n OUhg==",
        "X-Gm-Message-State": "AOAM5335n9w1ZS7z7qIllOxrQO0bcy2vLU/cnwn3M9Vr2TWgjBbyAsPS\n NNhxv3sqOSSASuRxEcWdG98OHxOW0/7oiNiT",
        "X-Google-Smtp-Source": "\n ABdhPJxTtIO9wOs3Ed2qtAdn2EvvsAQqimR068OOVtp8U8e/QloPXRUyoFvkJXhtG/CeoNebBIE98w==",
        "X-Received": "by 2002:a17:902:26a:b029:d6:caca:620a with SMTP id\n 97-20020a170902026ab02900d6caca620amr13342322plc.46.1604473435341;\n Tue, 03 Nov 2020 23:03:55 -0800 (PST)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>",
        "Date": "Tue,  3 Nov 2020 23:03:46 -0800",
        "Message-Id": "<20201104070350.28224-3-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20201104070350.28224-1-stephen@networkplumber.org>",
        "References": "<20200906013133.26360-12-stephen@networkplumber.org>\n <20201104070350.28224-1-stephen@networkplumber.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 2/6] dpdk-devbind: fix indentation",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Python lint complains about identation and missing spaces around\ncommas in this script.\n\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\n---\n usertools/dpdk-devbind.py | 53 ++++++++++++++++++++-------------------\n 1 file changed, 27 insertions(+), 26 deletions(-)",
    "diff": "diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py\nindex e0b74c5a3e41..3a27641d0e08 100755\n--- a/usertools/dpdk-devbind.py\n+++ b/usertools/dpdk-devbind.py\n@@ -14,15 +14,15 @@\n \n # The PCI base class for all devices\n network_class = {'Class': '02', 'Vendor': None, 'Device': None,\n-                    'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n acceleration_class = {'Class': '12', 'Vendor': None, 'Device': None,\n                       'SVendor': None, 'SDevice': None}\n ifpga_class = {'Class': '12', 'Vendor': '8086', 'Device': '0b30',\n-                    'SVendor': None, 'SDevice': None}\n+               'SVendor': None, 'SDevice': None}\n encryption_class = {'Class': '10', 'Vendor': None, 'Device': None,\n-                   'SVendor': None, 'SDevice': None}\n+                    'SVendor': None, 'SDevice': None}\n intel_processor_class = {'Class': '0b', 'Vendor': '8086', 'Device': None,\n-                   'SVendor': None, 'SDevice': None}\n+                         'SVendor': None, 'SDevice': None}\n cavium_sso = {'Class': '08', 'Vendor': '177d', 'Device': 'a04b,a04d',\n               'SVendor': None, 'SDevice': None}\n cavium_fpa = {'Class': '08', 'Vendor': '177d', 'Device': 'a053',\n@@ -34,29 +34,30 @@\n cavium_zip = {'Class': '12', 'Vendor': '177d', 'Device': 'a037',\n               'SVendor': None, 'SDevice': None}\n avp_vnic = {'Class': '05', 'Vendor': '1af4', 'Device': '1110',\n-              'SVendor': None, 'SDevice': None}\n+            'SVendor': None, 'SDevice': None}\n \n octeontx2_sso = {'Class': '08', 'Vendor': '177d', 'Device': 'a0f9,a0fa',\n-              'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n octeontx2_npa = {'Class': '08', 'Vendor': '177d', 'Device': 'a0fb,a0fc',\n-              'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n octeontx2_dma = {'Class': '08', 'Vendor': '177d', 'Device': 'a081',\n-              'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n octeontx2_ree = {'Class': '08', 'Vendor': '177d', 'Device': 'a0f4',\n-              'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n \n-intel_ioat_bdw = {'Class': '08', 'Vendor': '8086', 'Device': '6f20,6f21,6f22,6f23,6f24,6f25,6f26,6f27,6f2e,6f2f',\n-              'SVendor': None, 'SDevice': None}\n+intel_ioat_bdw = {'Class': '08', 'Vendor': '8086',\n+                  'Device': '6f20,6f21,6f22,6f23,6f24,6f25,6f26,6f27,6f2e,6f2f',\n+                  'SVendor': None, 'SDevice': None}\n intel_ioat_skx = {'Class': '08', 'Vendor': '8086', 'Device': '2021',\n-              'SVendor': None, 'SDevice': None}\n+                  'SVendor': None, 'SDevice': None}\n intel_ioat_icx = {'Class': '08', 'Vendor': '8086', 'Device': '0b00',\n-              'SVendor': None, 'SDevice': None}\n+                  'SVendor': None, 'SDevice': None}\n intel_idxd_spr = {'Class': '08', 'Vendor': '8086', 'Device': '0b25',\n-              'SVendor': None, 'SDevice': None}\n+                  'SVendor': None, 'SDevice': None}\n intel_ntb_skx = {'Class': '06', 'Vendor': '8086', 'Device': '201c',\n-              'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n intel_ntb_icx = {'Class': '06', 'Vendor': '8086', 'Device': '347e',\n-              'SVendor': None, 'SDevice': None}\n+                 'SVendor': None, 'SDevice': None}\n \n network_devices = [network_class, cavium_pkx, avp_vnic, ifpga_class]\n baseband_devices = [acceleration_class]\n@@ -206,7 +207,7 @@ def get_device_details(devices_type):\n         route = subprocess.check_output([\"ip\", \"-o\", \"route\"])\n         # filter out all lines for 169.254 routes\n         route = \"\\n\".join(filter(lambda ln: not ln.startswith(\"169.254\"),\n-                             route.decode().splitlines()))\n+                                 route.decode().splitlines()))\n         rt_info = route.split()\n         for i in range(len(rt_info) - 1):\n             if rt_info[i] == \"dev\":\n@@ -366,8 +367,8 @@ def bind_one(dev_id, driver, force):\n                 return\n             try:\n                 # Convert Device and Vendor Id to int to write to new_id\n-                f.write(\"%04x %04x\" % (int(dev[\"Vendor\"],16),\n-                        int(dev[\"Device\"], 16)))\n+                f.write(\"%04x %04x\" % (int(dev[\"Vendor\"], 16),\n+                                       int(dev[\"Device\"], 16)))\n                 f.close()\n             except:\n                 print(\"Error: bind failed for %s - Cannot write new PCI ID to \"\n@@ -409,13 +410,13 @@ def bind_one(dev_id, driver, force):\n             f = open(filename, \"w\")\n         except:\n             sys.exit(\"Error: unbind failed for %s - Cannot open %s\"\n-                  % (dev_id, filename))\n+                     % (dev_id, filename))\n         try:\n             f.write(\"\\00\")\n             f.close()\n         except:\n             sys.exit(\"Error: unbind failed for %s - Cannot open %s\"\n-                  % (dev_id, filename))\n+                     % (dev_id, filename))\n \n \n def unbind_all(dev_list, force=False):\n@@ -456,7 +457,7 @@ def bind_all(dev_list, driver, force=False):\n         pass\n \n     # check if we're attempting to bind to a driver that isn't loaded\n-    if not module_is_loaded(driver.replace('-','_')):\n+    if not module_is_loaded(driver.replace('-', '_')):\n         sys.exit(\"Error: Driver '%s' is not loaded.\" % driver)\n \n     try:\n@@ -501,9 +502,9 @@ def display_devices(title, dev_list, extra_params=None):\n         for dev in dev_list:\n             if extra_params is not None:\n                 strings.append(\"%s '%s %s' %s\" % (dev[\"Slot\"],\n-                                               dev[\"Device_str\"],\n-                                               dev[\"Device\"],\n-                                               extra_params % dev))\n+                                                  dev[\"Device_str\"],\n+                                                  dev[\"Device\"],\n+                                                  extra_params % dev))\n             else:\n                 strings.append(\"%s '%s'\" % (dev[\"Slot\"], dev[\"Device_str\"]))\n     # sort before printing, so that the entries appear in PCI order\n@@ -573,7 +574,7 @@ def show_status():\n         show_device_status(mempool_devices, \"Mempool\")\n \n     if status_dev == \"compress\" or status_dev == \"all\":\n-        show_device_status(compress_devices , \"Compress\")\n+        show_device_status(compress_devices, \"Compress\")\n \n     if status_dev == \"misc\" or status_dev == \"all\":\n         show_device_status(misc_devices, \"Misc (rawdev)\")\n",
    "prefixes": [
        "v2",
        "2/6"
    ]
}