2009-05-29 1 views
0

私は電話機の位置に基づいて電話機のプロファイルを変更する必要があるpythonスクリプトを作成しました。 ScriptShellの下で実行され、それは素晴らしい作品です。センサーとxprofileモジュールを備えたNokia N95とPyS60

問題は、ブートアップ時に実行された "sis"スクリプトと、ブートアップなしでハングすることです。

だから私の質問は、コードに間違っている、また、私は特殊なパラメータを渡す必要があるかどうかは、

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

"クラッシュ"と言って申し訳ありませんが、私はそれが "ハングする"と言います。何のエラーもありません。 – 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の中に組み込むよう指示してください。

どこにインストールしたらよいでしょうか?ここではサンプルとしてPythonのデフォルトのディレクトリです:


    # 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') 

ところできれい終了を行い、次の操作を行います。


    appuifw.app.menu = [(u'Close', exit_key_handler)] 
関連する問題