Hello ,
Here is the same example but it's better code and fewer bugs ;-)
Code:
from appuifw import *
from e32 import *
from key_codes import *
from miso import *
from string import *
import os
import sys
def diskname_free(diskname):
diskn=ord(upper(diskname[0]))-ord(u'A')
return(disk_total_avail(diskn))
class my_app:
def __init__(self):
self.script_lock = Ao_lock()
self.app_name= u'pyinfo'
self.app_ver= u'03'
self.run_by = u''
self.run_by_mode = u''
def save_params(self):
self.old_title = app.title
self.old_body = app.body
self.old_menu = app.menu
self.exit=app.exit_key_handler
def restore_params(self):
app.title = self.old_title
app.body = self.old_body
app.menu = self.old_menu
app.exit_key_handler = self.exit
def run(self):
self.save_params()
app.title = self.app_name+u'\n'+self.app_ver
app.body = Text()
app.menu = [(u'Phone info ...',self.action),(u'About ...',self.about),(u'Quit', self.quit)]
self.get_run_by()
self.set_bind()
app.exit_key_handler = self.fquit
self.script_lock.wait()
self.restore_params()
def quit(self):
self.script_lock.signal()
self.set_exit_if_standalone()
def fquit(self):
pass
def about(self):
note(u'%s\n%s\n(c) GPL license 2005\n%s\nCreated by Cyke64'%(self.app_name,self.app_ver,self.run_by_mode), 'info')
def action(self):
app.body.clear()
app.body.add(u'Phone : %s\n'%local_bt_name())
app.body.add(u'bt adr. : %s\n'%local_bt_address())
app.body.add(u'IMEI : %s\n'%imei_code())
app.body.add(u'C: %d bytes free\n'%diskname_free(u'c'))
app.body.add(u'D: %d bytes free\n'%diskname_free(u'd:'))
app.body.add(u'E: %d bytes free\n'%diskname_free('e:/'))
app.body.add(u'Z: %d bytes free\n'%diskname_free('Z'))
print(diskname_free('c'))
def set_bind(self):
pass
def set_exit_if_standalone(self):
if self.run_by_mode == u'Python Installer':
app.set_exit()
def get_run_by(self):
self.run_by = app.full_name()
if self.run_by[-10:] == u'Python.app':
self.run_by_mode = u'Python Interpreter'
elif self.run_by[-10:] == u'appmgr.app':
self.run_by_mode = u'Python Installer'
else:
self.run_by_mode = u'Unknown ...'
if __name__ == '__main__':
my_app().run()