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