+def transport_error(error_str):
+ logger.critical("Error parsing the transport file: %s" % error_str)
+ sys.exit(1)
+
+def setup_transport():
+ """Setup transport parameters for the obexftp program"""
+ try:
+ transport_file = open(sys.argv[2], 'r')
+ line = transport_file.readline()
+ transport_file.close()
+ except IOError:
+ transport_error("cannot read '%s'" % sys.argv[2])
+
+ parts = line.strip().split()
+ transport = parts[0].lower()
+
+ if transport == "bluetooth":
+ if len(parts) < 3:
+ transport_error("not enough arguments for 'bluetooth' transport")
+ elif len(parts) > 3:
+ transport_error("too many arguments for 'bluetooth' transport")
+ return ' '.join(["-b", parts[1], "-B", parts[2]])
+ elif transport == "usb":
+ if len(parts) < 2:
+ transport_error("not enough arguments for 'usb' transport")
+ elif len(parts) > 2:
+ transport_error("too many arguments for 'usb' transport")
+ return ' '.join(["-u", parts[1]])
+ elif transport == "tty":
+ if len(parts) < 2:
+ transport_error("not enough arguments for 'tty' transport")
+ elif len(parts) > 2:
+ transport_error("too many arguments for 'tty' transport")
+ return ' '.join(["-t", parts[1]])
+ elif transport == "irda":
+ if len(parts) > 1:
+ transport_error("too many arguments for 'irda' transport")
+ return "-i"
+ else:
+ logger.critical("Unknown transport '%s'; expected 'bluetooth', 'tty' or 'irda'", transport)
+ sys.exit(1)
+
+