(val)
| 605 | |
| 606 | @staticmethod |
| 607 | def base_to_python(val): |
| 608 | if isinstance(val, dbus.ByteArray): |
| 609 | return "".join([str(x) for x in val]) |
| 610 | if isinstance(val, (dbus.Array, list, tuple)): |
| 611 | return [fixups.base_to_python(x) for x in val] |
| 612 | if isinstance(val, (dbus.Dictionary, dict)): |
| 613 | return dict([(fixups.base_to_python(x), fixups.base_to_python(y)) for x,y in val.items()]) |
| 614 | if isinstance(val, dbus.ObjectPath): |
| 615 | for obj in (NetworkManager, Settings, AgentManager): |
| 616 | if val == obj.object_path: |
| 617 | return obj |
| 618 | if val.startswith('/org/freedesktop/NetworkManager/'): |
| 619 | classname = val.split('/')[4] |
| 620 | classname = { |
| 621 | 'Settings': 'Connection', |
| 622 | 'Devices': 'Device', |
| 623 | }.get(classname, classname) |
| 624 | return globals()[classname](val) |
| 625 | if val == '/': |
| 626 | return None |
| 627 | if isinstance(val, (dbus.Signature, dbus.String)): |
| 628 | return six.text_type(val) |
| 629 | if isinstance(val, dbus.Boolean): |
| 630 | return bool(val) |
| 631 | if isinstance(val, (dbus.Int16, dbus.UInt16, dbus.Int32, dbus.UInt32, dbus.Int64, dbus.UInt64)): |
| 632 | return int(val) |
| 633 | if isinstance(val, dbus.Byte): |
| 634 | return six.int2byte(int(val)) |
| 635 | return val |
| 636 | |
| 637 | @staticmethod |
| 638 | def ssid_to_python(ssid): |
no test coverage detected