User:Skamster

From Openmoko

Jump to: navigation, search

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 :)

  1. !/usr/bin/env python
  1. Little SMS-Application
  2. Was a project to learn and could be better
  3. Author: Vinzenz Hersche
  4. 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()

Personal tools