From 4d73a6e112673ebad8962df231fcb04bb718a228 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Thu, 29 Aug 2019 12:20:07 +0200
Subject: [PATCH] Some python3 bugs corrected

---
 src/mio/daemon_cage.py |  2 +-
 src/mio/installer.py   | 12 +++++-------
 src/mio/yum.py         |  2 +-
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/mio/daemon_cage.py b/src/mio/daemon_cage.py
index 8a24ba5..50cded9 100755
--- a/src/mio/daemon_cage.py
+++ b/src/mio/daemon_cage.py
@@ -9,7 +9,7 @@ import sys
 import time
 
 def system(command):
-    null = file("/dev/null")
+    null = open("/dev/null")
     p = subprocess.Popen(command,
                          stdin=null,
                          stdout=subprocess.PIPE,
diff --git a/src/mio/installer.py b/src/mio/installer.py
index 678287b..d2f6c47 100755
--- a/src/mio/installer.py
+++ b/src/mio/installer.py
@@ -189,19 +189,17 @@ class Installer:
         return rpms
             
     def install_rpms(self, path, exclude):
-        rpm = []
+        rpm = set()
         version_db = mio.rpmDB.VersionDB()
         for r in self.rpm:
             r.old_version = version_db[r.name]
             if r.old_version == None:
-                rpm.append(r.name)
+                rpm.add(r.name)
                 pass
             pass
         def not_excluded(name):
-            return not any(map(lambda x: fnmatch.fnmatch(name, x), exclude))
-        rpm = filter(not_excluded, rpm)
-        #rpm.sort()
-        print(rpm)
+            return not any([fnmatch.fnmatch(name, x) for x in exclude])
+        rpm = sorted(list(filter(not_excluded, rpm)))
         result = mio.yum.run(path + self.rpmdir, rpm, exclude)
         version_db = mio.rpmDB.VersionDB()
         for r in self.rpm:
@@ -235,7 +233,7 @@ def exclusion_closure(exclude, target):
     else:
         result = list(exclude) # Create exclusion closure
         for e in target._exclude_:
-            for (key, value) in e._attribute.iteritems():
+            for (key, value) in e._attribute.items():
                 if key == 'dependency':
                     result.append(group_node(value))
                 elif key == 'file':
diff --git a/src/mio/yum.py b/src/mio/yum.py
index a8eab0c..ccf760e 100755
--- a/src/mio/yum.py
+++ b/src/mio/yum.py
@@ -74,7 +74,7 @@ def conf(path):
 def run(path, rpm, exclude):
     c = conf(path)
     f = mio.filecache.createfile()
-    f.write(c)
+    f.write(c.encode('ascii'))
     f.close()
     
     mio.log.log(VERBOSE, "%s %s %s\n%s\n%s %s %s" % (
-- 
GitLab