Python » Страница 771
-Программирование на Python
блин. Мне не воссоздать, у меня сразу возвращает {'satellites': None, 'position': {'latitude': NaN, 'altitude': NaN, 'vertical_accuracy': NaN, 'longitude': NaN, 'horizontal_accuracy': NaN}, 'course': None}. Проверяй поэтапно, вызывается ли fun2, print туда засунь, вместо таймера прицепи ее на екситкейхандлер временно, может че прояснится...
функция fun2 выполняется, принты туда сувал
def gps_proverka():
global gps_pos
appuifw.note(u'a','error',1)
if gps_pos=={}:
appuifw.note(u'b','error',1)
gps_pos={'latitude':'iNone','longitude':'iNone'}
appuifw.note(u'c','error',1)
positioning.stop_position()
appuifw.note(u'd','error',1)
def fun1():
appuifw.note(u'1','error',1)
gps_pos={}
appuifw.note(u'2','error',1)
gps_itimer.after(10, gps_proverka)
appuifw.note(u'3','error',1)
gps_pos=positioning.position()['position']
appuifw.note(u'4','error',1)
вот так я пробовал.
appuifw.note(u'4','error',1) вот это не выполняется, если спутники не найдет.
может в месте где вызывается positioning.position() заблокировать основной поток программы, sleep-ом и во втором потоке запустить positioning.position() и там уже проверять данные?
не знаю. проверить не могу.
может и не останавливает
описание функции:
stop_position()
Stops an ongoing position request.
по описанию должен тормозить, а после торможения же, должен выполняться код после :
positioning.position()
да? или нет
-------------
добавлено в 11.10: HeaTTheatR
запускаешь командную строку
переходишь в каталог-папку своей проги
вводишь python setup.pu .....
если пишет что питон не является командой, тогда надо проверить переменные среды
свойства моего компьютера, переменные среды, смотришь чему равен PATH если там отсутствует путь к питону то надо дописать
схематично вот. Хз.
import positioning as p
import appuifw
import e32
from time import clock
def f1():
global pos, flag
pos = p.position()['position']
flag = 1
def stop():
global pos, flag
pos = None
flag = 1
def f2():
appuifw.app.exit_key_handler = stop
global flag
flag = 0
t0 = clock()
e32.ao_sleep(0, f1)
while clock() - t0 = 20:
return f2()
elif flag:
break
f2()
print pos
-------------
добавлено в 12.11: парсер код испоганил, надо дмитрию пожаловаться.
-------------
добавлено в 12.12: парсер код испоганил, надо дмитрию пожаловаться.
Прикрепленный файл #1: a50_p.zip (355 b)
вызванная функция отработает всегда, либо выбросит исключение. Либо зависнет, если че-то там никак не выполнится. Я надеялся, что stop_position прерывает ее выполнение.
-------------
добавлено в 13.36: а так получается типа urllib.urlopen, фиг прервешь, я в демоне запускал и убивал если что, тока так получалось
- «
- 1
- 2
- --
- 770
- 771
- 772
- --
- 974
- 975
- »

