[pytango] 97/122: Fix __DeviceProxy__dir for python3

Sandor Bodo-Merle sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:18:22 UTC 2017


This is an automated email from the git hooks/post-receive script.

sbodomerle-guest pushed a commit to tag v9.2.1
in repository pytango.

commit a1891a1bca120683b0092e712cabfb0097adfa06
Author: Vincent Michel <vincent.michel at maxlab.lu.se>
Date:   Wed Dec 14 17:45:03 2016 +0100

    Fix __DeviceProxy__dir for python3
---
 tango/device_proxy.py | 2 +-
 tango/utils.py        | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tango/device_proxy.py b/tango/device_proxy.py
index 255ba56..2f20fd4 100644
--- a/tango/device_proxy.py
+++ b/tango/device_proxy.py
@@ -331,7 +331,7 @@ def __DeviceProxy__dir(self):
     except Exception:
         pass
     # Merge with default dir implementation
-    extra_entries.update(map(str.lower, extra_entries))
+    extra_entries.update([x.lower() for x in extra_entries])
     entries = extra_entries.union(dir2(self))
     return sorted(entries)
 
diff --git a/tango/utils.py b/tango/utils.py
index 8681b99..a1747ec 100644
--- a/tango/utils.py
+++ b/tango/utils.py
@@ -18,6 +18,7 @@ from __future__ import print_function
 
 import os
 import sys
+import six
 import types
 import numbers
 import collections
@@ -1598,7 +1599,9 @@ def get_attrs(obj):
     """Helper for dir2 implementation."""
     if not hasattr(obj, '__dict__'):
         return []  # slots only
-    if not isinstance(obj.__dict__, (dict, types.DictProxyType)):
+    proxy_type = types.MappingProxyType if six.PY3 else types.DictProxyType
+    if not isinstance(obj.__dict__, (dict, proxy_type)):
+        print(type(obj.__dict__), obj)
         raise TypeError("%s.__dict__ is not a dictionary" % obj.__name__)
     return obj.__dict__.keys()
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pytango.git



More information about the debian-science-commits mailing list