From 8592d6dc6bde5943a7bdd4ada6dd62c8c35ce0db Mon Sep 17 00:00:00 2001 From: Rich Mattes 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 --- 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