Port to python 3
Port code to python 3 yet remain backward compatible to python 2.
This port is in preparation for yocto 2.4 upgrade.
Partially resolves openbmc/openbmc#2920
Change-Id: If174ce9444bde4e21fb086764f4def017e423201
Signed-off-by: CamVan Nguyen <ctnguyen@us.ibm.com>
diff --git a/pydownloadmgr/download_manager.py b/pydownloadmgr/download_manager.py
index 7ba80ca..7fb600f 100644
--- a/pydownloadmgr/download_manager.py
+++ b/pydownloadmgr/download_manager.py
@@ -1,7 +1,11 @@
#!/usr/bin/env python
import os
-import gobject
+# TODO: openbmc/openbmc#2994 remove python 2 support
+try: # python 2
+ import gobject
+except ImportError: # python 3
+ from gi.repository import GObject as gobject
import dbus
import dbus.service
import dbus.mainloop.glib
@@ -30,7 +34,7 @@
@dbus.service.signal(DBUS_NAME, signature='ss')
def DownloadComplete(self, outfile, filename):
- print "Download Complete: "+outfile
+ print("Download Complete: "+outfile)
return outfile
@dbus.service.signal(DBUS_NAME, signature='s')
@@ -40,7 +44,7 @@
def TftpDownloadHandler(self, ip, filename, path=None):
try:
filename = str(filename)
- print "Downloading: "+filename+" from "+ip
+ print("Downloading: "+filename+" from "+ip)
outfile = FLASH_DOWNLOAD_PATH+"/"+os.path.basename(filename)
rc = subprocess.call(
["tftp", "-l", outfile, "-r", filename, "-g", ip])
@@ -50,7 +54,7 @@
self.DownloadError(filename)
except Exception as e:
- print "ERROR DownloadManager: "+str(e)
+ print("ERROR DownloadManager: "+str(e))
self.DownloadError(filename)
# TODO: this needs to be deprecated.
@@ -58,7 +62,7 @@
def DownloadHandler(self, url, filename, path=None):
try:
filename = str(filename)
- print "Downloading: "+filename+" from "+url
+ print("Downloading: "+filename+" from "+url)
outfile = FLASH_DOWNLOAD_PATH+"/"+os.path.basename(filename)
subprocess.call(
["tftp", "-l", outfile, "-r", filename, "-g", url])
@@ -67,7 +71,7 @@
intf.update(outfile)
except Exception as e:
- print "ERROR DownloadManager: "+str(e)
+ print("ERROR DownloadManager: "+str(e))
obj = bus.get_object("org.openbmc.control.Flash", path)
intf = dbus.Interface(obj, "org.openbmc.Flash")
intf.error("Download Error: "+filename)
@@ -80,7 +84,7 @@
mainloop = gobject.MainLoop()
name = dbus.service.BusName(DBUS_NAME, bus)
- print "Running Download Manager"
+ print("Running Download Manager")
mainloop.run()
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4