factory: Use `dict.items` instead of `six.iteritems`

`six.iteritems` is equivalent to `dict.items` in python3, so we can
migrate all of this.

BUG=chromium:999876
TEST=make test

Change-Id: I7218c416e694da41996ae3ace6ce23e6f9fcfb72
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/factory/+/2200487
Reviewed-by: Yilin Yang (kerker) <kerker@chromium.org>
Tested-by: Yilin Yang (kerker) <kerker@chromium.org>
Commit-Queue: Yilin Yang (kerker) <kerker@chromium.org>
diff --git a/py/gooftool/commands.py b/py/gooftool/commands.py
index 2f45eb2..55bae95 100755
--- a/py/gooftool/commands.py
+++ b/py/gooftool/commands.py
@@ -24,8 +24,6 @@
 import time
 import xmlrpc.client
 
-from six import iteritems
-
 from cros.factory.gooftool.common import ExecFactoryPar
 from cros.factory.gooftool.common import Shell
 from cros.factory.gooftool.core import Gooftool
@@ -901,7 +899,7 @@
   """Get firmware hash from a file"""
   if os.path.exists(options.file):
     value_dict = chromeos_firmware.CalculateFirmwareHashes(options.file)
-    for key, value in iteritems(value_dict):
+    for key, value in value_dict.items():
       print('  %s: %s' % (key, value))
   else:
     raise Error('File does not exist: %s' % options.file)
diff --git a/py/gooftool/common.py b/py/gooftool/common.py
index cdfd590..2f905af 100644
--- a/py/gooftool/common.py
+++ b/py/gooftool/common.py
@@ -11,8 +11,6 @@
 from subprocess import PIPE
 from subprocess import Popen
 
-from six import iteritems
-
 from cros.factory.test.env import paths
 from cros.factory.utils import sys_utils
 from cros.factory.utils.type_utils import Error
@@ -273,7 +271,7 @@
       device = self.GetPrimaryDevicePath()
 
     curr_attrs = self.GetCgptAttributes()
-    for k, v in iteritems(attrs):
+    for k, v in attrs.items():
       if curr_attrs.get(k) == v:
         continue
       if not self.shell('cgpt add %s -i %s -A %s' % (device, k, v)).success:
diff --git a/py/gooftool/core.py b/py/gooftool/core.py
index fa4160f..5f2400e 100644
--- a/py/gooftool/core.py
+++ b/py/gooftool/core.py
@@ -16,7 +16,6 @@
 import tempfile
 import time
 
-from six import iteritems
 import yaml
 
 from cros.factory.gooftool.bmpblk import unpack_bmpblock
@@ -311,7 +310,7 @@
     # TPM device path has been changed in kernel 3.18.
     if not os.path.exists(tpm_root):
       tpm_root = legacy_tpm_root
-    for key, value in iteritems(expected_status):
+    for key, value in expected_status.items():
       if open(os.path.join(tpm_root, key)).read().strip() != value:
         raise Error('TPM is not cleared.')
 
@@ -361,12 +360,12 @@
       checked = []
       known = required.copy()
       known.update(optional)
-      for k, v in iteritems(data):
+      for k, v in data.items():
         if k in known:
           checked.append(MatchWhole(k, known[k], v))
         else:
           # Try if matches optional_re
-          for rk, rv in iteritems(optional_re):
+          for rk, rv in optional_re.items():
             if MatchWhole(k, rk, k, raise_exception=False):
               checked.append(MatchWhole(k, rv, v))
               break
@@ -735,8 +734,8 @@
       return any(name for name in known_names if k.startswith(name))
 
     rw_vpd = self._vpd.GetAllData(partition=vpd.VPD_READWRITE_PARTITION_NAME)
-    dot_entries = dict((k, v) for k, v in iteritems(rw_vpd) if '.' in k)
-    entries = dict((k, v) for k, v in iteritems(dot_entries)
+    dot_entries = dict((k, v) for k, v in rw_vpd.items() if '.' in k)
+    entries = dict((k, v) for k, v in dot_entries.items()
                    if _IsFactoryVPD(k))
     unknown_keys = set(dot_entries) - set(entries)
     if unknown_keys:
diff --git a/py/gooftool/gsctool.py b/py/gooftool/gsctool.py
index 0ea428f..ac74ea2 100644
--- a/py/gooftool/gsctool.py
+++ b/py/gooftool/gsctool.py
@@ -4,8 +4,6 @@
 
 import re
 
-from six import iteritems
-
 from cros.factory.gooftool import common as gooftool_common
 from cros.factory.utils import type_utils
 
@@ -115,10 +113,10 @@
     translated_kwargs = {}
     for line in cmd_result.stdout.splitlines():
       line = line.strip()
-      for field_name, attr_name in iteritems(fields):
+      for field_name, attr_name in fields.items():
         if line.startswith(field_name + '='):
           translated_kwargs[attr_name] = line[len(field_name) + 1:]
-    missing_fields = [field_name for field_name, attr_name in iteritems(fields)
+    missing_fields = [field_name for field_name, attr_name in fields.items()
                       if attr_name not in translated_kwargs]
     if missing_fields:
       raise GSCToolError('%r Field(s) are missing, gsctool stdout=%r' %
diff --git a/py/gooftool/gsctool_unittest.py b/py/gooftool/gsctool_unittest.py
index 16e2283..e4dda62 100755
--- a/py/gooftool/gsctool_unittest.py
+++ b/py/gooftool/gsctool_unittest.py
@@ -6,7 +6,6 @@
 import unittest
 
 import mock
-from six import iteritems
 
 from cros.factory.gooftool import common
 from cros.factory.gooftool import gsctool
@@ -102,7 +101,7 @@
         'BID_FLAGS': '0000ff00',
         'BID_RLZ': 'ABCD'}
     self._SetGSCToolUtilityResult(
-        stdout=(''.join('%s=%s\n' % (k, v) for k, v in iteritems(fields))))
+        stdout=(''.join('%s=%s\n' % (k, v) for k, v in fields.items())))
     board_id = self.gsctool.GetBoardID()
     self._CheckCalledCommand(['/usr/sbin/gsctool', '-a', '-M', '-i'])
     self.assertEqual(board_id.type, 0x41424344)
@@ -116,7 +115,7 @@
         'BID_FLAGS': '0000ff00',
         'BID_RLZ': '????'}
     self._SetGSCToolUtilityResult(
-        stdout=(''.join('%s=%s\n' % (k, v) for k, v in iteritems(fields2))))
+        stdout=(''.join('%s=%s\n' % (k, v) for k, v in fields2.items())))
     board_id = self.gsctool.GetBoardID()
     self._CheckCalledCommand(['/usr/sbin/gsctool', '-a', '-M', '-i'])
     self.assertEqual(board_id.type, 0xffffffff)
@@ -125,13 +124,13 @@
     # BID_TYPE_INV should be complement to BID_TYPE
     bad_fields = dict(fields, BID_TYPE_INV='aabbccdd')
     self._SetGSCToolUtilityResult(
-        stdout=(''.join('%s=%s\n' % (k, v) for k, v in iteritems(bad_fields))))
+        stdout=(''.join('%s=%s\n' % (k, v) for k, v in bad_fields.items())))
     self.assertRaises(gsctool.GSCToolError, self.gsctool.GetBoardID)
 
     # BID_TYPE should be the ascii codes of BID_RLZ
     bad_fields = dict(fields, BID_RLZ='XXYY')
     self._SetGSCToolUtilityResult(
-        stdout=(''.join('%s=%s\n' % (k, v) for k, v in iteritems(bad_fields))))
+        stdout=(''.join('%s=%s\n' % (k, v) for k, v in bad_fields.items())))
     self.assertRaises(gsctool.GSCToolError, self.gsctool.GetBoardID)
 
     self._SetGSCToolUtilityResult(status=1)