User:Skamster
From Openmoko
just a moko-user wich look for some bugs and maybe develop in some time something..
My first code
It's just a little application to read and delete some sms. i coded it to learn python and because the shr-sms-app does always crash :)
- !/usr/bin/env python
- Little SMS-Application
- Was a project to learn and could be better
- Author: Vinzenz Hersche
- This code has GPL 2 as license
import gtk import dbus
class smsapp:
smsId = 1 def refresh(self): if self.getSms(): self.absender.set_text("Absender: "+self.sms[1]) self.text.set_text("Text: "+self.sms[2]) else: self.absender.set_text("No SMS") self.text.set_text("Kein SMS")
def forward(self, widget, data=None): if self.smsId == 50: self.smsId = 1 else: self.smsId += 1 self.refresh()
def backward(self, widget, data=None): if self.smsId != 1: self.smsId -=1 else: self.smsId = 50 self.refresh()
def dbusInit(self): bus = dbus.SystemBus() gsm = bus.get_object('org.freesmartphone.ogsmd', '/org/freesmartphone/GSM/Device') self.sim = dbus.Interface(gsm,'org.freesmartphone.GSM.SIM')
def getSms(self): try: self.sms = self.sim.RetrieveMessage(self.smsId) return True except dbus.exceptions.DBusException: return False
def smsDelete(self, widget, data=None): self.sim.DeleteMessage(self.smsId) self.smsId += 1 self.dbusInit() self.refresh()
def guiInit(self): self.window = gtk.Window() self.absender = gtk.Label() self.text = gtk.Label() self.text.set_line_wrap(True) last = gtk.Button('Last') last.connect("clicked", self.backward) next = gtk.Button('Next') next.connect("clicked", self.forward) buttonBox = gtk.HBox(False, 0) buttonBox.pack_start(last) buttonBox.pack_start(next) delete = gtk.Button('delete') delete.connect("clicked", self.smsDelete) vbox = gtk.VBox(False, 0) vbox.pack_start(self.absender) vbox.pack_start(self.text, False, False, 0) vbox.pack_start(buttonBox) vbox.pack_start(delete) self.window.add(vbox) self.window.show_all()
def __init__(self): self.dbusInit() self.guiInit() self.refresh()
def main(self): gtk.main()
test = smsapp() test.main()