Change raw_input() to input() and unicode to str. This is *not* compatible with Python 2. Update the hashbangs to run with Python 3.
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/python3
 | 
						|
 | 
						|
import sys
 | 
						|
import dbus
 | 
						|
 | 
						|
if (len(sys.argv) < 2):
 | 
						|
	print("Usage: %s [modem] <ussd-string>" % (sys.argv[0]))
 | 
						|
	sys.exit(1)
 | 
						|
 | 
						|
bus = dbus.SystemBus()
 | 
						|
 | 
						|
manager = dbus.Interface(bus.get_object('org.ofono', '/'),
 | 
						|
						'org.ofono.Manager')
 | 
						|
 | 
						|
modems = manager.GetModems()
 | 
						|
 | 
						|
if (len(sys.argv) == 2):
 | 
						|
	path = modems[0][0]
 | 
						|
	ussdstring = sys.argv[1]
 | 
						|
else:
 | 
						|
	path = sys.argv[1]
 | 
						|
	ussdstring = sys.argv[2]
 | 
						|
 | 
						|
ussd = dbus.Interface(bus.get_object('org.ofono', path),
 | 
						|
					'org.ofono.SupplementaryServices')
 | 
						|
 | 
						|
properties = ussd.GetProperties()
 | 
						|
state = properties["State"]
 | 
						|
 | 
						|
print("State: %s" % (state))
 | 
						|
 | 
						|
if state != "idle":
 | 
						|
	sys.exit(1);
 | 
						|
 | 
						|
result = ussd.Initiate(ussdstring, timeout=100)
 | 
						|
 | 
						|
properties = ussd.GetProperties()
 | 
						|
state = properties["State"]
 | 
						|
 | 
						|
print(result[0] + ": " + result[1])
 | 
						|
 | 
						|
if state == "idle":
 | 
						|
	sys.exit(0)
 | 
						|
 | 
						|
print("State: %s" % (state))
 | 
						|
 | 
						|
while state == "user-response":
 | 
						|
	response = input("Enter response: ")
 | 
						|
 | 
						|
	result = ussd.Respond(response, timeout=100)
 | 
						|
 | 
						|
	properties = ussd.GetProperties()
 | 
						|
	state = properties["State"]
 | 
						|
 | 
						|
	print(result)
 | 
						|
 | 
						|
	if state != "idle":
 | 
						|
		print("State: %s" % (state))
 |