| #!/usr/bin/python |
| |
| import sys |
| import dbus |
| |
| |
| def list_folder(folder): |
| bus = dbus.SessionBus() |
| client = dbus.Interface(bus.get_object("org.bluez.obex", |
| "/org/bluez/obex"), |
| "org.bluez.obex.Client") |
| |
| path = client.CreateSession(sys.argv[1], { "Target": "ftp" }) |
| |
| ftp = dbus.Interface(bus.get_object("org.bluez.obex", path), |
| "org.bluez.obex.FileTransfer") |
| |
| if folder: |
| for node in folder.split("/"): |
| ftp.ChangeFolder(node) |
| |
| for i in ftp.ListFolder(): |
| if i["Type"] == "folder": |
| print "%s/" % (i["Name"]) |
| else: |
| print "%s" % (i["Name"]) |
| |
| |
| if __name__ == '__main__': |
| |
| if len(sys.argv) < 2: |
| print "Usage: %s <device> [folder]" % (sys.argv[0]) |
| sys.exit(1) |
| |
| folder = None |
| if len(sys.argv) == 3: |
| folder = sys.argv[2] |
| |
| list_folder(folder) |