#import sys #import os #import e32 #import pickle import time import SOAPpy #import mwsAuthentication import location import positioning import mws class TerminalLocation(mws.mwsAuthentication, mws.mwsGeneral): def getLocation(self, requestedAccuracy, acceptableAccuracy, maximumAge, responseTime, tolerance): def getTerminalDistance (self, latitude, longitude): pass def getGSMLocation(self): import location #remove the results file so we don't get some old result #print "Remove the output file\n" if (os.path.exists('c:\\output_file.txt')): os.remove('c:\\output_file.txt') #print "Output file should have been removed\n" f = open('c:\\commands_file.txt','w') f.write('getGSMLocation:parameter1;parameter2\n') f.close() e32.start_exe(u'c:\\sys\\bin\\pyLaunch_0xe8f72d57.exe','') #print "before while loop\n" while (True): time.sleep(1) if os.path.exists('c:\\output_file.txt'): break # unpickle the file f = open( 'c:\\output_file.txt','r' ) loc = pickle.load(f) if type(loc) != type([]) or len(loc) != 4: #print "passed the first test\n" for elem in loc: if type(elem) != type(1): print "expected 4-member Array of ints\n" #print "out of the test\n" return loc def getGPSLocation(self): #import location #import positioning #import time for n in range(0, len(positioning.modules())): moduleId = str(positioning.modules()[n]['id']) print moduleId name = positioning.modules()[n]['name'] print name available = str(positioning.modules()[n]['available']) print available positioning.set_requestors([{"type":"service","format":"application","data":"test"}]) intCount = 0; intLoopOut = 10; data = '' output = [] while(intCount < intLoopOut): pos = positioning.position() if (pos['position']['latitude'] != 0): # i.e. latitude != NaN data = pos break time.sleep(1) intCount += 1 if (data != ''): latitude = str(data['position']['latitude']) print latitude longitude = str(data['position']['longitude']) print longitude altitude = str(data['position']['altitude']) print altitude horizontalAccuracy = str(data['position']['horizontal_accuracy']) print horizontalAccuracy verticalAccuracy = str(data['position']['vertical_accuracy']) print verticalAccuracy output.append({'latitude':latitude, 'longitude':longitude, 'altitude':altitude, 'horizontal_accuracy':horizontalAccuracy,'vertical_accuracy':verticalAccuracy}) else: print "time out" return output # def getWLANs(self): # # Returns MAC address, SSID and ConnectionMode of awailable WLANS # import wlantools # output = [] # wlanData = wlantools.scan() # # for n in range(0, len(wlanData)): # output.append({'SSID' : wlanData[n]['SSID'], 'MAC':wlanData[n]['BSSID'], 'ConnectionMode':wlanData[n]['ConnectionMode']}) # # return output