blob: 5c7c447b63ae8c87d68006a69f0af3c3d774d227 [file] [log] [blame]
#!/usr/bin/python
import gobject
import dbus
import dbus.mainloop.glib
from optparse import OptionParser
def parse_options():
parser.add_option("-d", "--device", dest="device",
help="Device to connect", metavar="DEVICE")
parser.add_option("-c", "--chdir", dest="new_dir",
help="Change current directory to DIR", metavar="DIR")
parser.add_option("-l", "--lsdir", action="store_true", dest="ls_dir",
help="List folders in current directory")
parser.add_option("-v", "--verbose", action="store_true", dest="verbose")
parser.add_option("-L", "--lsmsg", action="store", dest="ls_msg",
help="List messages in supplied CWD subdir")
return parser.parse_args()
def set_folder(session, new_dir):
for node in new_dir.split("/"):
session.SetFolder(node)
if __name__ == '__main__':
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
parser = OptionParser()
(options, args) = parse_options()
if not options.device:
parser.print_help()
exit(0)
bus = dbus.SessionBus()
mainloop = gobject.MainLoop()
client = dbus.Interface(bus.get_object("org.openobex.client", "/"),
"org.openobex.Client")
session_path = client.CreateSession({ "Destination": options.device,
"Target": "map"})
session = dbus.Interface(bus.get_object("org.openobex.client", session_path),
"org.openobex.Session")
map = dbus.Interface(bus.get_object("org.openobex.client", session_path),
"org.openobex.MessageAccess")
if options.new_dir:
set_folder(map, options.new_dir)
if options.ls_dir:
print map.GetFolderListing(dict())
if options.ls_msg is not None:
print map.GetMessageListing(options.ls_msg, dict())
mainloop.run()