[elbe-devel] [PATCH 10/25] py3: avoid using has_key

Manuel Traut manut at linutronix.de
Fri Dec 1 16:51:07 CET 2017


dictionaries no longer have the has_key function in python3.
Instead 'in' can be used in py3 and py2.

Signed-off-by: Manuel Traut <manut at linutronix.de>
---
 elbepack/commands/parselicence.py | 10 +++++-----
 elbepack/config.py                | 10 +++++-----
 elbepack/dump.py                  | 16 ++++++++--------
 elbepack/finetuning.py            |  2 +-
 elbepack/fstab.py                 |  2 +-
 elbepack/hdimg.py                 |  8 ++++----
 elbepack/pkgutils.py              |  2 +-
 elbepack/treeutils.py             |  4 ++--
 elbepack/xmldefaults.py           |  6 +++---
 9 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/elbepack/commands/parselicence.py b/elbepack/commands/parselicence.py
index 708d5aa4..c9d215de 100644
--- a/elbepack/commands/parselicence.py
+++ b/elbepack/commands/parselicence.py
@@ -56,16 +56,16 @@ class license_dep5_to_spdx (dict):
 
 
     def have_override (self, pkgname):
-        return self.perpackage_override.has_key (pkgname)
+        return pkgname in self.perpackage_override
 
     def get_override (self, pkgname):
         return self.perpackage_override[pkgname]
 
     def map_one_license (self, pkgname, l, errors):
-        if self.perpackage_mapping.has_key(pkgname):
-            if self.perpackage_mapping[pkgname].has_key(l):
+        if pkgname in self.perpackage_mapping:
+            if l in self.perpackage_mapping[pkgname]:
                 return self.perpackage_mapping[pkgname][l]
-        if self.has_key(l):
+        if l in self:
             return self[l]
         errors.append ('no mapping for "%s" for pkg "%s"' % (l, pkgname))
         return None
@@ -92,7 +92,7 @@ class license_dep5_to_spdx (dict):
 
 
     def map_lic (self, pkgname, licenses, errors):
-        if self.perpackage_override.has_key (pkgname):
+        if pkgname in self.perpackage_override:
             if len(self.perpackage_override[pkgname]) > 0:
                 return self.perpackage_override[pkgname]
 
diff --git a/elbepack/config.py b/elbepack/config.py
index 39ce2a61..f7262c7d 100644
--- a/elbepack/config.py
+++ b/elbepack/config.py
@@ -27,19 +27,19 @@ class Config(dict):
         self['elbepass'] = "foo"
         self['pbuilder_jobs'] = "auto"
 
-        if os.environ.has_key('ELBE_SOAPPORT'):
+        if 'ELBE_SOAPPORT' in os.environ:
             self['soapport'] = os.environ['ELBE_SOAPPORT']
 
-        if os.environ.has_key('ELBE_SOAPHOST'):
+        if 'ELBE_SOAPHOST' in os.environ:
             self['soaphost'] = os.environ['ELBE_SOAPHOST']
 
-        if os.environ.has_key('ELBE_USER'):
+        if 'ELBE_USER' in os.environ:
             self['elbeuser'] = os.environ['ELBE_USER']
 
-        if os.environ.has_key('ELBE_PASS'):
+        if 'ELBE_PASS' in os.environ:
             self['elbepass'] = os.environ['ELBE_PASS']
 
-        if os.environ.has_key('ELBE_PBUILDER_JOBS'):
+        if 'ELBE_PBUILDER_JOBS' in os.environ:
             self['pbuilder_jobs'] = os.environ['ELBE_PBUILDER_JOBS']
 
 
diff --git a/elbepack/dump.py b/elbepack/dump.py
index 45669ec1..14cb0226 100644
--- a/elbepack/dump.py
+++ b/elbepack/dump.py
@@ -153,7 +153,7 @@ def check_full_pkgs(pkgs, fullpkgs, errorname, cache):
             errors += 1
 
     for cp in cache.get_installed_pkgs():
-        if not pindex.has_key(cp.name):
+        if cp.name not in pindex:
             elog.printo( "additional package %s installed, that was not requested" % cp.name )
             errors += 1
 
@@ -234,19 +234,19 @@ def elbe_report( xml, buildenv, cache, reportname, targetfs ):
     tgt_pkg_list = set()
 
     for fpath, realpath in targetfs.walk_files():
-        if index.has_key(fpath):
+        if fpath in index:
             pkg = index[fpath]
             tgt_pkg_list.add(pkg)
         else:
             pkg = "postinst generated"
 
-        if mt_index_post_fine.has_key(fpath) and mt_index.has_key(fpath):
+        if fpath in mt_index_post_fine and fpath in mt_index:
             if mt_index_post_fine[fpath] > mt_index[fpath]:
                 pkg = "modified finetuning"
-        if mt_index_post_fine.has_key(fpath):
+        if fpath in mt_index_post_fine:
             if mt_index_post_arch[fpath] > mt_index_post_fine[fpath]:
                 pkg = "from archive"
-            elif not mt_index.has_key(fpath):
+            elif fpath not in mt_index:
                 pkg = "added in finetuning"
         else:
             pkg = "added in archive"
@@ -257,9 +257,9 @@ def elbe_report( xml, buildenv, cache, reportname, targetfs ):
 
     outf.h2( "Deleted Files" )
     outf.table()
-    for fpath in mt_index.keys():
-        if not mt_index_post_arch.has_key(fpath):
-            if index.has_key(fpath):
+    for fpath in list(mt_index.keys()):
+        if fpath not in mt_index_post_arch:
+            if fpath in index:
                 pkg = index[fpath]
             else:
                 pkg = "postinst generated"
diff --git a/elbepack/finetuning.py b/elbepack/finetuning.py
index d209e1b3..0020e020 100644
--- a/elbepack/finetuning.py
+++ b/elbepack/finetuning.py
@@ -53,7 +53,7 @@ class RmAction(FinetuningAction):
     def execute(self, log, buildenv, target):
         files = target.glob( self.node.et.text )
 
-        if self.node.et.attrib.has_key ('exclude'):
+        if 'exclude' in self.node.et.attrib:
             exclude = self.node.et.attrib['exclude'].split (' ')
         else:
             exclude = []
diff --git a/elbepack/fstab.py b/elbepack/fstab.py
index d86bc23f..47633002 100644
--- a/elbepack/fstab.py
+++ b/elbepack/fstab.py
@@ -53,7 +53,7 @@ class mountpoint_dict (dict):
     def register (self, fstabentry):
         mp = fstabentry.mountpoint
 
-        if self.has_key (mp):
+        if mp in self:
             fstabentry.id = self[mp].id
         else:
             fstabentry.id = str(self.id_count)
diff --git a/elbepack/hdimg.py b/elbepack/hdimg.py
index e2834e51..872b0ded 100644
--- a/elbepack/hdimg.py
+++ b/elbepack/hdimg.py
@@ -45,7 +45,7 @@ def mkfs_mtd( outf, mtd, fslabel, rfs, target ):
             continue
 
         label = v.text("label")
-        if not fslabel.has_key(label):
+        if label not in fslabel:
             continue
 
         try:
@@ -301,7 +301,7 @@ def create_partition(disk, part, ptype, fslabel, size_in_sectors, current_sector
         sz = size_to_int(part.text("size"))/sector_size
 
     g = parted.Geometry(device=disk.device, start=current_sector, length=sz)
-    if ptype != parted.PARTITION_EXTENDED and fslabel.has_key(part.text("label")) and fslabel[part.text("label")].fstype == "vfat":
+    if ptype != parted.PARTITION_EXTENDED and part.text("label") in fslabel and fslabel[part.text("label")].fstype == "vfat":
         fs = simple_fstype("fat32")
         ppart = parted.Partition(disk, ptype, fs, geometry=g)
         ppart.setFlag(_ped.PARTITION_LBA)
@@ -357,7 +357,7 @@ def create_logical_partitions(outf, disk, extended, epart, fslabel, target, grub
 
         current_sector += 2048
         lpart = create_partition(disk, logical, parted.PARTITION_LOGICAL, fslabel, size_in_sectors, current_sector)
-        if logical.has("label") and fslabel.has_key(logical.text("label")):
+        if logical.has("label") and logical.text("label") in fslabel:
             create_label(outf, disk, logical, lpart, fslabel, target, grub)
 
         current_sector += lpart.getLength();
@@ -392,7 +392,7 @@ def do_image_hd( outf, hd, fslabel, target, grub_version ):
 
         if part.tag == "partition":
             ppart = create_partition(disk, part, parted.PARTITION_NORMAL, fslabel, size_in_sectors, current_sector)
-            if fslabel.has_key(part.text("label")):
+            if part.text("label") in fslabel:
                 create_label(outf, disk, part, ppart, fslabel, target, grub)
         elif part.tag == "extended":
             ppart = create_partition(disk, part, parted.PARTITION_EXTENDED, fslabel, size_in_sectors, current_sector)
diff --git a/elbepack/pkgutils.py b/elbepack/pkgutils.py
index b8e82a68..d97baff7 100644
--- a/elbepack/pkgutils.py
+++ b/elbepack/pkgutils.py
@@ -165,7 +165,7 @@ def get_dsc_size( fname ):
 
     sz = os.path.getsize(fname)
     for sect in tf:
-        if sect.has_key('Files'):
+        if 'Files' in sect:
             files = sect['Files'].split('\n')
             files = [ f.strip().split(' ') for f in files ]
             for f in files:
diff --git a/elbepack/treeutils.py b/elbepack/treeutils.py
index c998bde9..bcbd415e 100644
--- a/elbepack/treeutils.py
+++ b/elbepack/treeutils.py
@@ -48,9 +48,9 @@ class ebase(object):
 
     def text( self, path, **args ):
         el = self.et.find("./"+path)
-        if (el is None) and not args.has_key("default"):
+        if (el is None) and "default" not in args:
             raise Exception( "Cant find path %s" % path )
-        elif (el is None) and args.has_key("default"):
+        elif (el is None) and "default" in args:
             default = args["default"]
             if type(default) == str:
                 return default
diff --git a/elbepack/xmldefaults.py b/elbepack/xmldefaults.py
index 147d4be6..738d3199 100644
--- a/elbepack/xmldefaults.py
+++ b/elbepack/xmldefaults.py
@@ -185,7 +185,7 @@ class ElbeDefaults(object):
 
     def __init__(self, build_type):
 
-        if not defaults.has_key(build_type):
+        if build_type not in defaults:
             print "Please specify a valid buildtype."
             print "Valid buildtypes:"
             print defaults.keys()
@@ -197,9 +197,9 @@ class ElbeDefaults(object):
         self.generic_defaults = archindep_defaults
 
     def __getitem__( self, key ):
-        if self.defaults.has_key( key ):
+        if key in self.defaults:
             return self.defaults[key]
-        if self.generic_defaults.has_key( key ):
+        if key in self.generic_defaults:
             return self.generic_defaults[key]
 
         return None
-- 
2.15.1




More information about the elbe-devel mailing list