pythonize.py
来自「LINUX下」· Python 代码 · 共 39 行
PY
39 行
"""some dbus to python type conversions-decorator for interface-wrapper class for proxy"""def pythonize(var): """translates dbus types back to basic python types.""" if isinstance(var, list): return [pythonize(value) for value in var] if isinstance(var, tuple): return tuple([pythonize(value) for value in var]) if isinstance(var, dict): return dict( [(pythonize(key), pythonize(value)) for key, value in var.iteritems()] ) for klass in [unicode, str, bool, int, float, long]: if isinstance(var,klass): return klass(var) return vardef pythonize_call(func): def deco(*args,**kwargs): return pythonize(func(*args, **kwargs)) return decodef pythonize_interface(func): def deco(*args, **kwargs): args = pythonize(args) kwargs = pythonize(kwargs) return func(*args, **kwargs) return decoclass PythonizeProxy(object): def __init__(self,proxy): self.proxy = proxy def __getattr__(self, key): return pythonize_call(getattr(self.proxy, key))
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?