Python » Страница 771

-

Программирование на Python



dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7701

блин. Мне не воссоздать, у меня сразу возвращает {'satellites': None, 'position': {'latitude': NaN, 'altitude': NaN, 'vertical_accuracy': NaN, 'longitude': NaN, 'horizontal_accuracy': NaN}, 'course': None}. Проверяй поэтапно, вызывается ли fun2, print туда засунь, вместо таймера прицепи ее на екситкейхандлер временно, может че прояснится...

HeaTTheatR


репутация: 94
на сайте с 2010 года
сообщений: 747

Украина, Луганск

Возраст - 42

#7702

nur87,
Я вообще в командной строке не могу ничего сделать, потому что мне всегда выдает сообщение, типа данная команда не является внутренней или внешней командой, исполняемой программой или файлом feel

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7703

функция 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() и там уже проверять данные?

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7704

исходя из этого, я понял, что stop_position() у тебя не прерывает выполнение position() в случае ненахожнения, так?

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7705

не знаю. проверить не могу.
может и не останавливает
описание функции:

stop_position()
Stops an ongoing position request.

по описанию должен тормозить, а после торможения же, должен выполняться код после :
positioning.position()
да? или нет
-------------
добавлено в 11.10: HeaTTheatR
запускаешь командную строку
переходишь в каталог-папку своей проги
вводишь python setup.pu .....
если пишет что питон не является командой, тогда надо проверить переменные среды
свойства моего компьютера, переменные среды, смотришь чему равен PATH если там отсутствует путь к питону то надо дописать

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7706

схематично вот. Хз.

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)

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7707

dimy44
блин.
это по моему все равно не то.
а если отдельным потоком запустить, и через 10 секунд убить этот поток? если ничего он не вернул, и продолжить выполнение скрипта

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7708

но функция то уже вызвана и выполняется

nur87


репутация: 60
на сайте с 2006 года
сообщений: 559

Explay Golf

Казань

Возраст - 38

#7709

тогда такой вопрос.
как средствами питона выключит/удалить запущенную функцию.

dimy44


репутация: 537
на сайте с 2006 года
сообщений: 2540

HTC One S

Евпатория

Возраст - 54

#7710

вызванная функция отработает всегда, либо выбросит исключение. Либо зависнет, если че-то там никак не выполнится. Я надеялся, что stop_position прерывает ее выполнение.
-------------
добавлено в 13.36: а так получается типа urllib.urlopen, фиг прервешь, я в демоне запускал и убивал если что, тока так получалось


Яндекс.Метрика