携帯電話向けOSであるSymbian S60で動作する PyS60 新版を試してみました。 PyS60 1.4から S60 3rdEd サポートになりました! Symbian SignedなのでSoftBank 804NK/705NK (Nokia N71/N73)にもインストールできます。 API経由でe-mail(MMS)の送信が可能になりました。
>>> import e32
>>> e32.drive_list()
[u'C:', u'D:', u'E:', u'Z:']
>>> e32.in_emulator()
0
>>> e32.pys60_version
'1.4.0 final'
>>> e32.pys60_version_info
(1, 4, 0, 'final', 0)
>>> e32.s60_version_info
(3, 0)
>>> e32.is_ui_thread()
1
>>> e32.inactivity(); e32.reset_inactivity(); e32.inactivity()
26
0
>>> e32.inactivity()
7
>>> import inbox
>>> i = inbox.Inbox()
>>> i.sms_messages()
[]
>>> import messaging
>>> messaging.sms_send("08012345678", u"Hello from PyS60!")
>>> i.sms_messages()
[1053966]
>>> m = i.sms_messages()[0]
>>> i.content(m)
u'Hello from PyS60!'
>>> i.address(m)
u'Endoh Takanao'
>>> i.time(m)
1184965794.14813
>>> import e32db
>>> e32db.format_time(i.time(m))
u'21/07/2007 06:09:54'
>>> import location
>>> print location.gsm_location()
None
>>> import sysinfo
>>> sysinfo.active_profile()
'silent'
>>> sysinfo.battery()
85
>>> sysinfo.display_twips()
(2082, 2776)
>>> sysinfo.display_pixels()
(240, 320)
>>> sysinfo.free_drivespace()
{u'C:': 45948928, u'D:': 7311360, u'Z:': 0, u'E:': 822312960}
>>> sysinfo.imei()
u'000000000000000'
>>> sysinfo.max_ramdrive_size()
Traceback (most recent call last):
File "<console>", line 1, in ?
File "c:\resource\sysinfo.py", line 46, in max_ramdrive_size
return _sysinfo.max_ramdrive_size()
SymbianError: [Errno -5] KErrNotSupported
>>> sysinfo.total_ram()
46137344
>>> sysinfo.free_ram()
7311360
>>> sysinfo.total_rom()
20971520
>>> sysinfo.ring_type()
'silent'
>>> sysinfo.os_version()
(2, 0, 1071)
>>> sysinfo.signal_bars()
7
>>> sysinfo.signal_dbm()
87
>>> sysinfo.sw_version()
u'V 3.0650.0.0.50 09-12-2006 RM-133 '
>>> import socket
>>> from socket import AF_INET, SOCK_STREAM
>>> apid = socket.select_access_point()
>>> apid
1
>>> apo = socket.access_point(apid)
>>> apo
<_ap.AP object at 0x183a1e8>
>>> socket.set_default_access_point(apo)
>>> s = socket.socket(AF_INET, SOCK_STREAM)
>>> s
<socket._socketobject object at 0x183e340>
>>> apo.ip()
'10.156.4.253'
