#!/usr/bin/env python3
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

from __future__ import print_function

import dbus
import flimflam

flim = flimflam.FlimFlam(dbus.SystemBus())

for obj in flim.GetObjectList('Device'):
    obj_properties = obj.GetProperties()

    print('[ %s ]' % (obj.object_path))
    for key in obj_properties.keys():
        print('    %s = %s' %
              (key, flimflam.convert_dbus_value(obj_properties[key], 4)))

print('')
