Blob Blame History Raw
From 531d63d4e6acf6f4959e20f61f300921f764690c Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Fri, 13 Apr 2018 11:56:29 -0700
Subject: [PATCH] Support python3 dictionary access.

Support python2 and python3 dictionary access by using the iteritems
function the 'python-six' module.

Also, add info to the README about supporting both Python2 and Python3.

Signed-off-by: Lee Duncan <lduncan@suse.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 README        | 8 +++++---
 nvmet/nvme.py | 3 ++-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/README b/README
index cd4bd78..c8717e8 100644
--- a/README
+++ b/README
@@ -14,9 +14,11 @@ using setup.py.
 
 Common Package Dependencies and Problems
 -----------------------------------------
-nvmetcli uses the 'python-six' and 'pyparsing' packages
-(running nvmetcli without these packages may produce
-hard-to-decipher errors).
+Both python2 and python3 are supported via use of the 'python-six'
+package.
+
+nvmetcli uses the 'pyparsing' package -- running nvmetcli without this
+package may produce hard-to-decipher errors.
 
 Usage
 -----
diff --git a/nvmet/nvme.py b/nvmet/nvme.py
index f5d0555..89bf9cd 100644
--- a/nvmet/nvme.py
+++ b/nvmet/nvme.py
@@ -23,6 +23,7 @@ import stat
 import uuid
 import json
 from glob import iglob as glob
+from six import iteritems
 
 DEFAULT_SAVE_FILE = '/etc/nvmet/config.json'
 
@@ -219,7 +220,7 @@ class CFSNode(object):
 
     def _setup_attrs(self, attr_dict, err_func):
         for group in self.attr_groups:
-            for name, value in attr_dict.get(group, {}).iteritems():
+            for name, value in iteritems(attr_dict.get(group, {})):
                 try:
                     self.set_attr(group, name, value)
                 except CFSError as e:
-- 
1.8.3.1