Blob Blame History Raw
From 8592d6dc6bde5943a7bdd4ada6dd62c8c35ce0db Mon Sep 17 00:00:00 2001
From: Rich Mattes <richmattes@gmail.com>
Date: Sun, 18 Oct 2015 22:29:08 -0400
Subject: [PATCH] Fixes for Python 3 dicts

The Python 3 dict does not have the has_key method, which causes the new
FdoDetect method to fail with Python 3.  This commit replaces the
has_key calls with a call to get() which checks for a "None" return
value.

Signed-off-by: Rich Mattes <richmattes@gmail.com>
---
 src/rospkg/os_detect.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/rospkg/os_detect.py b/src/rospkg/os_detect.py
index 7b13556..541cb9b 100644
--- a/src/rospkg/os_detect.py
+++ b/src/rospkg/os_detect.py
@@ -150,13 +150,13 @@ class FdoDetect(OsDetector):
     """
     def __init__(self, fdo_id):
         release_info = read_os_release()
-        if release_info is not None and release_info.has_key("ID") and release_info["ID"] == fdo_id:
+        if release_info is not None and release_info.get("ID") is not None and release_info["ID"] == fdo_id:
             self.release_info = release_info
         else:
             self.release_info = None
 
     def is_os(self):
-        return self.release_info is not None  and self.release_info.has_key("VERSION_ID")
+        return self.release_info is not None  and self.release_info.get("VERSION_ID") is not None
 
     def get_version(self):
         if self.is_os():
@@ -165,7 +165,7 @@ class FdoDetect(OsDetector):
 
     def get_codename(self):
         if self.is_os():
-            if self.release_info.has_key("VERSION"):
+            if self.release_info.get("VERSION") is not None:
                 version = self.release_info["VERSION"]
                 # FDO style: works with Fedora, Debian, Suse.
                 if version.find("(") is not -1:
-- 
2.4.3