2009-05-29 6 views
0

Я создал сценарий python, который должен изменить профиль телефона на основе позиции телефона. Пробег под ScriptShell, он отлично работает.Nokia N95 и PyS60 с модулями датчиков и xprofile

Проблема в том, что она висит, как с «sis» скриптом, запущенным при загрузке, так и без него.

Так что мой вопрос в том, что не так с кодом, а также нужно ли мне передавать специальные параметры для ensymble?

import appuifw, e32, sensor, xprofile 
from appuifw import * 

old_profil = xprofile.get_ap() 

def get_sensor_data(status): 
    #decide profile 

def exit_key_handler(): 
    # Disconnect from the sensor and exit 
    acc_sensor.disconnect() 
    app_lock.signal() 

app_lock = e32.Ao_lock() 

appuifw.app.exit_key_handler = exit_key_handler 
appuifw.app.title = u"Acc Silent" 
appuifw.app.menu = [(u'Close', app_lock.signal)] 
appuifw.app.body = Canvas() 
# Retrieve the acceleration sensor 
sensor_type= sensor.sensors()['AccSensor'] 
# Create an acceleration sensor object 
acc_sensor= sensor.Sensor(sensor_type['id'],sensor_type['category']) 
# Connect to the sensor 
acc_sensor.connect(get_sensor_data) 

# Wait for sensor data and the exit event 
app_lock.wait() 

Сценарий запускается при загрузке, используя ensymble и мой сертификат разработчика.

Спасибо заранее

+0

Как делает это «сбой»? любой всплывающий диалог? любой код ошибки Symbian? ... –

+0

Извините за высказывание «crash», я думаю, «он висит». Никакой ошибки. – Flavius

+0

Вы можете попробовать также задать вопрос в форуме Форума Nokia Python: http://discussion.forum.nokia.com/forum/forumdisplay.php?f=102 – laalto

ответ

3

Я часто использую что-то вроде, что в верхней части моих скриптов:

import os.path, sys 
PY_PATH = None 
for p in ['c:\\Data\\Python', 'e:\\Data\\Python','c:\\Python','e:\\Python']: 
    if os.path.exists(p): 
     PY_PATH = p 
     break 
if PY_PATH and PY_PATH not in sys.path: sys.path.append(PY_PATH) 
2

xprofile не является стандартной библиотеки, убедитесь, что вы добавляете путь к нему. Я предполагаю, что при запуске как SIS он не находит xprofile и не зависает. При выпуске SIS либо инструктируйте, чтобы пользователи устанавливали это отдельно или включали в ваш SIS.

Где бы вы его устанавливали, используйте этот путь. Вот питона каталог по умолчанию в качестве образца:


    # PyS60 1.9.x and above 
    sys.path.append('c:\\Data\\Python') 
    sys.path.append('e:\\Data\\Python') 
    # Pys60 1.4.x or below 
    sys.path.append('c:\\Python') 
    sys.path.append('e:\\Python') 

Btw сделать чистый выход, сделайте следующее:


    appuifw.app.menu = [(u'Close', exit_key_handler)]